Springquartz调度程序记住运行间信息

标签 spring quartz-scheduler

我有一个带有 spring 应用程序的 quartz 调度程序。

每次quartz触发一个作业时,该作业都会创建一个列表(比如狗列表)。下次quartz触发另一个作业时,我需要访问上一个作业创建的列表。我怎样才能做到这一点。

我无法使用该对象的单个实例。因为这个对象可以被其他创建自己的列表的进程使用(比如牛列表,鸟列表等)

我正在寻找的效果类似于实例变量并在循环中执行某些操作,每次在循环中更新实例变量时,实例变量的新值都可以在循环的下一次迭代中访问。

提前致谢

最佳答案

您需要一些可供所有作业访问的全局存储。在 Spring 中,您可以将 bean 注入(inject)到作业中,并将该列表保留在其中一个 bean 中。您还可以利用JobDataMap 。但是,它可能会序列化您的集合并将其反序列化回来。

问题实际上更复杂。请记住,Quartz 可以在多个节点上运行。在这种情况下,您将留下以 BLOB 形式存储在数据库中的 JobDataMap 或您自己使用数据库(例如,每条一行)。

关于Springquartz调度程序记住运行间信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14528946/

相关文章:

spring - JSP 自定义标记中的 i18n 翻译

java - 在 ServletRequest 中获取客户端 IP 时遇到问题

mysql - Spring boot/Hibernate 无法创建表

JSF 2 + Quartz调度库

java - 如何为每个团队成员在unix中设置java开发环境

java - 如何动态配置Quartz DataSource URL?

java - 添加到触发器的 JobData 未传递给 Quartz 中的作业

java - 如何将 Spring 上下文作为方法参数传递?

java - 与 maven、jetty9、spring4 一起运行的 war 并且没有 web.xml

java - quartz HelloJob