我在评估Quartz Scheduler是否适合我们的项目需求。在教程或文档中找不到满足我们需求的解决方案。我们想要的功能是为其中一个重复禁用重复作业,但不要禁用其他作业(之前和之后)。
示例:假设我有一个Job,它有触发器,每天在08:00:00和20:00:00触发。现在突然要求在一个特定的日期和时间禁用此触发器,比如从现在开始的20:00:00。之前和之后的日子和时间不受影响。怎么做到这一点?
pauseJob()
和pauseTrigger()
对于这种情况显然没有任何帮助,我不确定Calendar
在这里有什么帮助。有什么建议?我需要实现自己的Trigger类吗?
答案 0 :(得分:0)
找到符合我需求的解决方法,也许它可以帮助其他人:在我想要跳过的所需开火时间之前1秒设置触发器的结束时间 - trigger.setEndTime(endTime)
并应用更改 - scheduler.rescheduleJob(trigger.getKey(), trigger)
(注意触发器的startTime不能得到一些时髦的结果)。然后在我想跳过的所需开火时间之后添加另一个startTime 1秒的触发器,否则与先前的触发器完全相同。使用组来确定它们都在做同样的事情。