簡體   English   中英

為什么 Quartz 調度器的 unscheduleJob 會同時刪除觸發器和作業詳細信息?

[英]Why Quartz scheduler's unscheduleJob is deleting both trigger and job detail?

我試圖在集群環境中執行以下石英調度程序代碼。

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

然而

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

上面的一段代碼是從觸發器和作業詳細信息中刪除條目。 它應該只刪除觸發器嗎?

為什么 Quartz 調度器的 unscheduleJob 會同時刪除觸發器和作業詳細信息?

持久性設置為真作業以避免在刪除觸發器時刪除作業。

每當您創建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();

您也可以通過檢查jobDetails表中IS_DURABLE列的值來驗證它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM