Ale*_*kov 7 java cluster-computing quartz-scheduler
我有一个包含多个实例的Quartz设置,我想在任何执行的地方中断作业.正如文档中所述,Scheduler.interrupt()
方法不是群集感知的,所以我正在寻找一些克服这种限制的常见做法.
那么,这里有一些您应该用来实现这一目标的基础知识。
当以集群模式运行时,有关当前正在运行的作业的信息可在石英表中找到。例如,q_fired_triggers
包含正在执行的作业。该表的第一列是负责它的调度程序名称。因此很容易知道谁在做什么。
然后,如果您启用quartz实例的JMX导出org.quartz.scheduler.jmx.export
,您的MBean将启用一个新的入口点来单独远程管理每个调度程序。MBean 提供了一个方法boolean interruptJob("JobName", "JobGroup")
然后,您“只需”需要在适当的调度程序实例上调用此方法即可有效地中断它。
我手动尝试了所有过程,效果很好,只需要自动化:)
HIH
归档时间: |
|
查看次数: |
1217 次 |
最近记录: |