一个Web应用程序中的Quartz Scheduler会影响另一个Web应用程序中的quartz scheduler

时间:2014-01-16 03:18:20

标签: java quartz-scheduler

我在JBoss 4.3上运行了两个应用程序,每个应用程序都包含一个执行自己工作的石英调度程序。我注意到,如果重新部署一个应用程序,则另一个应用程序中的quartz调度程序将停止运行。 我想知道我是否使用了错误的方法

以下是调度程序类中使用的代码示例。这个类的方法由Servlet Context Listener类调用。

public void startScheduler() {      
    JobDetail jobDetail = null;
    SimpleTrigger simpleTrigger = null;

    schFac = new StdSchedulerFactory();

    try {
        scheduler = schFac.getScheduler();

        jobDetail = new JobDetail("resizer_job1", "resizer_group1", resizerJob.class);
        simpleTrigger = new SimpleTrigger("resizer_scheduler1", "resizer_scheduler_group1");

        simpleTrigger.setStartTime(new Date(System.currentTimeMillis()));
        simpleTrigger.setRepeatInterval(360000); // -- 2 hrs
        simpleTrigger.setRepeatCount(SimpleTrigger.REPEAT_INDEFINITELY);

        scheduler.scheduleJob(jobDetail, simpleTrigger);

        scheduler.start();      
    } catch (SchedulerException e) {            
        e.printStackTrace();
    } catch (Exception ex) {
        ex.printStackTrace();
    }

}

public void stopScheduler() {

    if(scheduler != null) {
        try {
            scheduler.deleteJob("resizer_job1", "resizer_group1");              
            scheduler.shutdown();
        } catch (SchedulerException se) {
            se.printStackTrace();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}

我非常感谢您的建议。

0 个答案:

没有答案