我有一份石英作业:

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

10-08 08:16