1

I am using quartz + spring for scheduling. If I want to store some static data in memory and use it for every iteration of the job, how can that be possible.

Thanks

4

1 回答 1

0

我假设您使用的是 Quartz 1.8。Quartz 2.x 提供了注释,使实现更加方便,但是一旦你有了 1.8 的代码,用这些注释替换它就不难了。

  1. 确保你的工作实现了StateFulJob接口。如果您使用 Quartz 2.x,请Job改为实现接口并使用@PersistJobDataAfterExecution.
  2. 从作业上下文中,检索JobDataMapwith context.getJobDetail().getJobDataMap()
  3. 现在,您可以获取值并将其放入该映射中,并且您放入映射中的每个值都可用于作业的后续运行。

确保您放入的所有对象JobDataMap都是可序列化的。还要将 Quartz 配置为不同时运行作业以防止出现竞争条件。

于 2013-07-05T11:05:47.237 回答