繁体   English   中英

在Spring上使用石英调度程序时如何缓存数据

[英]how to cache data when using quartz scheduler with spring

我正在使用石英+弹簧进行调度。 如果我想在内存中存储一​​些静态数据并将其用于作业的每次迭代,那怎么可能。

谢谢

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM