我有一份石英作业:
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块中抛出特殊异常还是如何对其进行配置?
最佳答案
您可以将JobExecutionException类对象的setUnscheduleAllTriggers方法设置为true(true)。请参考石英官方网站上的以下示例供您参考。
-documentation