0

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

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

然而

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

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

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

4

2 回答 2

3

将持久性设置为作业,以避免在删除触发器时删除作业。

于 2013-05-20T10:24:12.203 回答
0

每当您创建JobDetailthen set的对象时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

于 2020-05-30T08:00:23.437 回答