quartz调度异常
下面这段代码在quartz-2.1.5下运行,执行了deleteJob,依然每s运行job,直至将进程杀死。但是在quartz-2.2.1下运行,当执行了deleteJob以后,job就不再执行了。这是怎么回事?另外,如果HelloJob是SimpleTriggerExample的内部嵌套类的话,无论在2.1.5下还是2.2.1下,都不会运行job,这又是怎么回事?感觉quartz有疑问的地方太多了。。
public class HelloJob implements Job {
@Override
public void execute(JobExecutionContext context)
throws JobExecutionException {
System.out.println("Hello Quartz!");
}
}
public class SimpleTriggerExample {
public static void main(String[] args) throws Exception {
JobDetail job = JobBuilder.newJob(HelloJob.class)
.withIdentity("job1", "group1").build();
Trigger trigger = TriggerBuilder
.newTrigger()
.withIdentity("job1", "group1")
.withSchedule(
SimpleScheduleBuilder.simpleSchedule()
.withIntervalInSeconds(1).repeatForever())
.build();
Scheduler scheduler = new StdSchedulerFactory().getScheduler();
scheduler.start();
scheduler.scheduleJob(job, trigger);
Thread.sleep(30000);
scheduler.deleteJob(new JobKey("job1", "group1"));
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
第一个问题可能是低版本的bug.
第二个问题, 可能是因为classloader找不到你嵌套在内部的非public的类.找不到只是不执行而不报错.
没有亲自测试过,只能凭猜测回答.