Quartz的@DisallowConcurrentExecution是否适用于多个JVM?

时间:2016-03-21 16:08:46

标签: java quartz-scheduler

如果我的作业代码部署在两个带有JdbcStore的JVM上,@DisallowConcurrentExecution是否确保只有一个作业在所有JVM上运行?

1 个答案:

答案 0 :(得分:2)

是的,它会;即使有多个实例,这种属性也能正常工作。这里唯一重要的是,它根据JobKey而不是here所描述的代码来定义它。

无论如何,就像提醒一样,除非你有一个守护程序来保持你的时钟同步,否则不要在多个服务器上运行Quartz。来自Quartz指南:

  

永远不要在不同的计算机上运行群集,除非使用某种形式的时间同步服务(守护程序)同步它们的时钟,这些服务定期运行(时钟必须在彼此的秒内)。如果您不熟悉如何执行此操作,请参阅http://www.boulder.nist.gov/timefreq/service/its.htm