我想在石英作业上使用自己的错误处理。发生异常时,每个作业都有不同的等待时间。例如,作业每30秒运行一次,但是当发生异常时,作业应该等待5分钟。
我试过这种方法,但它不起作用:
{{1}}
这项工作再次在30秒内完成。
我做错了什么?
答案 0 :(得分:0)
我可能错了,但您确定只需设置nextFireTime
属性即可安排工作吗?
我想你必须使用http://quartz-scheduler.org/api/2.2.0/org/quartz/Scheduler.html#rescheduleJob(org.quartz.TriggerKey,org.quartz.Trigger)重新安排工作。
e.g。
SchedulerFactory sf = new StdSchedulerFactory()
Scheduler sched = sf.getScheduler()
def name = "jobname"
Trigger trigger = sched.getTrigger(new TriggerKey("trigger_" + name))
trigger.repeatInterval = 30000
sched.rescheduleJob(trigger.name, trigger.group, trigger)
那将在5分钟内完成工作,然后你必须重新安排它在30秒内运行。