在安排工作后需要关闭调度程序吗?

时间:2016-04-06 13:42:19

标签: java quartz-scheduler

情况:
我正在运行使用QuartzSchduler的Strut Web应用程序。应用程序正常运行,但有时会自动关闭。 我已经分析了日志并找到了模式,最后一个进程invokde是应用程序即将死亡之前的QuartzScheduler。

MyQuestion: 我的代码中有调度程序的启动方法,需要在编制作业后关闭它吗?

Trigger ContentDataTrigger =
        TriggerBuilder.newTrigger().withIdentity("anyTriggerName", "group1")
                .withSchedule(
                        CronScheduleBuilder.cronSchedule("0 0/15 * * * ?"))
                .build();
Trigger ImageDataTrigger = TriggerBuilder
        .newTrigger()
        .withIdentity("anyTriggerName", "group2")
        .withSchedule(
                CronScheduleBuilder.cronSchedule("0 0 0/1 1/1 * ? *"))
        .build();
Trigger VideoDataTrigger = TriggerBuilder
        .newTrigger()
        .withIdentity("anyTriggerName", "group3")
        .withSchedule(
                CronScheduleBuilder.cronSchedule("0 25 0/1 1/1 * ? *"))
        .build();

Scheduler scheduler = new StdSchedulerFactory().getScheduler();
scheduler.start();
scheduler.scheduleJob(contentJob,ContentDataTrigger);
scheduler.scheduleJob(imageJob,ImageDataTrigger);
scheduler.scheduleJob(videoJob,VideoDataTrigger);

1 个答案:

答案 0 :(得分:0)

scheduler.start()启动触发触发器的线程。

如果你致电scheduler.shtudown(),它就会停止执行这些工作。我不认为这是你想要的行为。