如何处理由Quartz调度程序运行的作业导致的“异常”,以便它在以下计划时间运行。我不希望它立即得到回复,或者我不希望它放弃这份工作。只需将它保留在作业库中,直到下一个回合。
答案 0 :(得分:4)
如果您从Job
抛出异常并且JobExecutionException
设置为refireImmediately
,则此执行将被丢弃并继续正常计划。例如。当一个工作假设每10秒运行一次并且一次执行引发异常时,Quartz将简单地丢弃这个优先级并在10秒后运行下一个。
不幸的是,有一些延迟重新启动的唯一方法是自定义代码(可能是JobListener
实现?),refireImmediately
执行它所说的。遗憾的是,Quartz并不支持开箱即用。
请在此处查看建议的解决方案(但不是接受的答案):Quartz retry when failure。