为什么Quartz调度程序的uncheduleJob会删除触发器和作业详细信息?

时间:2013-05-10 16:28:13

标签: java quartz-scheduler

我试图在集群环境中执行以下石英调度程序代码。

scheduler.unscheduleJob("genericJobTrigger", "DEFAULT");

其中

Scheduler scheduler = (Scheduler) context.getBean("scheduler");
JobDetail genericJob = (JobDetail) context.getBean("genericJob");
CronTrigger genericJobTrigger = (CronTrigger) context.getBean("genericJobTrigger");

上面的代码是从触发器和作业详细信息中删除条目。它应该只删除触发器吗?

为什么Quartz调度程序的uncheduleJob正在删除触发器和作业详细信息?

2 个答案:

答案 0 :(得分:3)

耐久性设置为JO,以避免在删除触发器时删除JOBS。

答案 1 :(得分:0)

每当创建JobDetail对象然后设置storeDurably()时,请参考以下示例:

return JobBuilder.newJob(ScheduledJob.class)
                .setJobData(jobDataMap)
                .withDescription("job executes at specified frequency")
                .withIdentity(UUID.randomUUID().toString(), "email-jobs")
                .storeDurably() //This will not allow to delete automatially
                .build();

您还可以通过检查IS_DURABLE表中jobDetails列的值来进行验证。