2016-04-28 85 views

回答

1

通常,暂停触发器不会影响其下一次着火时间。

I.e.如果你有一个每天在6点运行的CronTrigger,并且在那天触发之前暂停触发器,它不会触发。

但由于下一次着火时间没有改变,该触发器应立即触发或执行其MisfireInstruction后再次暂停。触发器是否被触发或其MisfireInstruction是否被执行取决于MisfireThreshold。

对于CronTrigger的情况,您可以在取消暂停CronTrigger之前调整nextFireTime。 (请参阅CronTrigger.setNextFireTime()

+0

如何将nextfiretime设置为第二天的触发开始时间? – Prakhar

+0

我建议做以下事情:每次在您取消暂停Trigger之前,您都会执行'cronTrigger.setNextFireTime(cronTrigger.getFireTimeAfter (new Date()))''。这只是将CronTrigger的下一个触发时间设置为与现在相关的CronExpression匹配的下一个有效时间。 – mam10eks

+0

非常感谢。我会试试这个并回复你。 – Prakhar