我在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();
}
}
}
我非常感谢您的建议。