2017-06-16 41 views
1

我们在我们的应用中使用了Quartz 1.8.6。我们使用CronTriggers进行小时和夜间工作。我们想设置一些事情,如果发生失火,我们希望跳过这个工作,直到下一个计时时间到来。在Quartz 1.8.6中,是否有像MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_REMAINING_COUNT这样的选项CronTrigger

对于简单的工作,似乎你可以做一个

nightlyTrigger.setMisfireInstruction(SimpleTrigger.MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_REMAINING_COUNT);

但是,看来这并不CronTrigger工作。这种情况下使用的Misfire指令是什么?

+0

很想去,但我的投票没有改变分数,因为我没有足够的计算器业力。尽管我尝试过。 – user2454234

回答

0

你想使用CronTrigger.MISFIRE_INSTRUCTION_DO_NOTHING

SimpleTrigger.MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_REMAINING_COUNT告诉石英说,在一个或多个擦枪走火,它必须:

  • 重新安排触发器触发后下一个预定日期(不点火,即忽略了,错过了执行)。
  • 此外,设置“重复左”计数器,就好像所有错过的执行都正确运行(不考虑错过的运行)。

所以基本上这个失火指令告诉Quartz什么都不做,微笑并继续像以前一样没有发生。保持平静的失火指示。

Cron触发器的等效指令更加适当地命名为:CronTrigger.MISFIRE_INSTRUCTION_DO_NOTHING

相关问题