Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用带spring的quartz调度器时如何缓存数据_Java_Spring_Quartz Scheduler - Fatal编程技术网

Java 使用带spring的quartz调度器时如何缓存数据

Java 使用带spring的quartz调度器时如何缓存数据,java,spring,quartz-scheduler,Java,Spring,Quartz Scheduler,我正在使用quartz+spring进行调度。 如果我想在内存中存储一些静态数据,并将其用于作业的每次迭代,那怎么可能呢 谢谢我假设您使用的是Quartz 1.8。Quartz 2.x提供的注释使实现更加方便,但一旦您拥有了1.8的代码,就不难用这些注释替换它 确保作业实现了StateFulJob接口。如果您使用Quartz 2.x,请改为实现作业接口,并使用@PersistJobDataAfterExecution注释您的类 从作业上下文中,使用context.getJobDetail().g

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


谢谢

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

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

  • 确保放入
    JobDataMap
    的所有对象都可序列化。还应将Quartz配置为不同时运行作业,以防止竞争情况。

    它是桌面应用程序还是web应用程序?它是web应用程序。您可以使用Servlet上下文。检查此项了解servlet上下文->的详细信息,检查此项了解其用法->