Quartz Misfire - 并发

时间:2013-05-30 19:47:27

标签: java concurrency quartz-scheduler terracotta misfire-instruction

Quartz为以下两种情况定义了MISFIRE:

  1. POOL中没有线程
  2. 计划程序关闭
  3. 如果作业是“DisallowConcurrent”并且由于正在处理另一个作业而未执行触发器,此触发器是否会被视为失火?

    为简单起见,假设MisfireThreshold为零。

1 个答案:

答案 0 :(得分:1)

是的,触发器将被视为失火,并且将采取适当的失火政策 应用于触发器。 您可以通过创建触发器侦听器来验证此行为。有了这个,将为失效的触发器调用triggerMisfired()方法。 另一点, 将失火阈值设置为零会导致您的每个触发器都失效,因为石英确实需要一些时间(几毫秒)才能在触发的指定时间触发触发器。