【发布时间】:2016-04-28 04:15:26
【问题描述】:
如何暂停我的石英触发器并在第二天的指定开始时间启动它? 例如。我的 cron 表达式是 * 0/20 15-00 * * ?因此,当我暂停触发器时,它应该在第二天 15:00 开始。
【问题讨论】:
标签: java quartz-scheduler
如何暂停我的石英触发器并在第二天的指定开始时间启动它? 例如。我的 cron 表达式是 * 0/20 15-00 * * ?因此,当我暂停触发器时,它应该在第二天 15:00 开始。
【问题讨论】:
标签: java quartz-scheduler
一般来说,暂停触发器不会影响其下一次触发时间。
即如果您有一个每天在 6 点运行的 CronTrigger,并且您在当天触发之前暂停了该触发器,则它不会触发。
但由于下一次触发时间未更改,因此该触发器应在再次取消暂停后立即触发或执行其MisfireInstruction。触发触发器还是执行其 MisfireInstruction 取决于 MisfireThreshold。
对于 CronTrigger,您可以在取消暂停 CronTrigger 之前调整 nextFireTime。 (见CronTrigger.setNextFireTime())
【讨论】:
cronTrigger.setNextFireTime(cronTrigger.getFireTimeAfter (new Date()))。这只是将 CronTrigger 的下一个触发时间设置为现在之后与关联的 CronExpression 匹配的下一个有效时间。