我有一个 quartz 作业:
public class GlobalIdleMonitorJob extends AbstractJob {
@Override public void execute(JobExecutionContext context)
throws JobExecutionException {
try {
getJobService().processUserIdle();
}catch(Exception e){
getLogger().error("GlobalIdleMonitorJob",e);
}
}
}
此作业每 X 秒运行一次。我希望这项工作在第一次失败后停止。换句话说,如果
getJobService().processUserIdle();
抛出异常,我希望此作业不再运行,仅在手动重启或 Web 应用程序服务器重启后运行。我应该在 catch block 中抛出一个特殊的异常还是如何配置它?
最佳答案
您可以将 JobExecutionException 类对象的 setUnscheduleAllTriggers 方法设置为 true(true)。请引用以下 quartz 官方网站的示例,供您引用。
关于第一次异常后的java quartz停止计划,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40651534/