2

我有一个带有弹簧应用程序的石英调度程序。

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

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

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

提前致谢

4

1 回答 1

2

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

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

于 2013-01-25T19:30:26.943 回答