我有一个带弹簧应用程序的石英调度程序。
每当石英触发一份工作时,该工作就会创建一个清单(比如狗的清单)。下一次石英触发另一个作业时,我需要访问权限才能访问上一个作业创建的列表。我怎样才能做到这一点。
我无法使用该对象的单个实例。因为这个对象可以被创建自己的列表的其他进程使用(例如奶牛列表,鸟类列表等)
我正在寻找的效果类似于实例变量并在循环中执行某些操作,并且每次在循环中更新实例变量时,实例变量的新值都可以在循环的下一次迭代中访问。
提前致谢
答案 0 :(得分:2)
您需要一些可供所有作业访问的全局存储。在Spring中,您可以将bean注入作业并将该列表保存在其中一个bean中。您还可以利用JobDataMap
。但是,它可能会序列化您的集合并将其反序列化。
问题实际上更复杂。请记住,Quartz可以在多个节点上运行。在这种情况下,您将JobDataMap
作为BLOB存储在数据库中或自己使用数据库(例如,每个 dog 一行)。