【发布时间】:2016-10-20 15:56:59
【问题描述】:
我们在几个应用程序节点上集群化了 Quartz 调度程序运行器。应用节点需要更新,出于高可用性的原因,更新是滚动更新。
与更新一起,我们需要添加一个新作业,并且该作业需要立即开始运行 - 即它不能等到所有节点都已更新。问题是我can't control which node will run the new job,如果其中一个旧节点运行作业,作业实例化将失败(带有 ClassNotFoundException),trigger will be set to the state ERROR 并且作业不会再次运行。
此问题的一种解决方案是进行两次更新:一次在所有节点中添加类,一次添加触发器。反对这种方法的主要原因是我们的操作程序不支持这一点。
那么是否还有一种方法可以安排新作业并通过一次更新使其可靠运行?
【问题讨论】:
标签: quartz-scheduler