簡體   English   中英

可以在石英中使用不同的觸發器運行相同的工作嗎?

[英]Possible to run the same job with different trigger in quartz?

我使用以下代碼創建多個觸發器,然后將所有這些觸發器綁定到一個作業。 但它失敗了

 "org.quartz.ObjectAlreadyExistsException: Unable to store Job : 'Group.Job', because one already exists with this identification.
"


 for (SchedulerBean schedulerBean : schedulerList) {
            Trigger trigger = newTrigger()
                    .withIdentity("trigger_" + schedulerBean.getConnectorID())
                    .usingJobData("ID", schedulerBean.getConnectorID())
                    .withSchedule(cronSchedule(schedulerBean.crontab))
                    .forJob(job)
                    .build();
            sched.scheduleJob(job, trigger);
        }
  sched.start();

從錯誤我懷疑sched.scheduleJob(job, trigger); 部分嘗試多次安排相同的工作。

嘗試添加sched.addJob(job, true); 在for循環之前只添加一次('true'用於替換舊作業,如果存在),並在循環內使用sched.scheduleJob(trigger); 而不是sched.scheduleJob(job, trigger);

sched.scheduleJob(trigger); 因為您使用.forJob(job)屬性指定了它,所以能夠將觸發器添加到作業中

暫無
暫無

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

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