服务器关闭期间的计划作业在服务器启动期间不运行

时间:2014-04-15 15:33:27

标签: quartz-scheduler

我已经使用JDBCJobStore配置了简单的触发器调度程序。一切正常,直到服务器运行,但如果服务器出现故障并稍后重新启动,则在重新启动服务器后不会触发在服务器停机期间错过触发的作业。但重启后的预定工作也正常。

例如:如果安排了3个工作如下:

Job 1 - 15-April-2014 9 AM
Job 2 - 15-April-2014 9:30 AM
Job 3 - 15-April-2014 10 AM

对于上述情况,作业1按预期执行,现在服务器从上午9:15到9:45停止,此处错过执行作业2。稍后在9:45重新启动服务器后,不会触发作业2。但是在上午10点,作业3被触发并按预期执行。

我不知道我错过了什么。我是否需要在计划作业期间添加任何特定属性或Java代码。因此石英可以触发工作2,请有人帮我找到解决方案。提前致谢。

1 个答案:

答案 0 :(得分:0)

一旦服务器关闭所有计划作业将会失效。 在服务器启动时,您需要将所有作业重新提交到RAM

SchedulerUtility schedUtil=new SchedulerUtility();
        try {

            Scheduler sched = schedUtil.getScheduler();
            sched.start();

        } catch (IOException e) {
            log.error(e);
            //e1.printStackTrace();
        } catch (SchedulerException e) {
            log.error(e);
            //e1.printStackTrace();
        }

确保每次服务器启动/重启时都需要执行此操作