Quartz JobExecutionContext setResult 与 put
Quartz JobExecutionContext setResult vs put
我正在使用 Quartz Scheduler 生成一个 XML 文件并对结果进行处理。为此,我创建了一个 class 实现 Job
接口,设置两个 JobListeners
并将它们与我的工作联系起来。但是我需要在 Job
和 JobListeners
之间共享数据。
阅读 API 文档我发现有两种不同的方法可以做到这一点:
- 使用
JobExecutionContext
的 setResult
和 getResult
方法。
- 使用上下文的
JobDataMap
以及方法 put
和 get
.
除了 JobDataMap
中的数据是易变的,我看不出使用这两种方法有什么区别。
使用一种或另一种方法有什么优势吗?
我已经证实你的观察是正确的。在研究了 source code here 之后,我唯一要发表的其他评论是 setResult()
/getResult()
既易于使用又易于实现,因此对于您的目的来说显然是更好的选择。
我正在使用 Quartz Scheduler 生成一个 XML 文件并对结果进行处理。为此,我创建了一个 class 实现 Job
接口,设置两个 JobListeners
并将它们与我的工作联系起来。但是我需要在 Job
和 JobListeners
之间共享数据。
阅读 API 文档我发现有两种不同的方法可以做到这一点:
- 使用
JobExecutionContext
的setResult
和getResult
方法。 - 使用上下文的
JobDataMap
以及方法put
和get
.
除了 JobDataMap
中的数据是易变的,我看不出使用这两种方法有什么区别。
使用一种或另一种方法有什么优势吗?
我已经证实你的观察是正确的。在研究了 source code here 之后,我唯一要发表的其他评论是 setResult()
/getResult()
既易于使用又易于实现,因此对于您的目的来说显然是更好的选择。