gpt4 book ai didi

java - 可以在 quartz 中使用不同的触发器运行相同的作业吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:46:03 26 4
gpt4 key购买 nike

我正在使用以下代码创建多个触发器,然后将所有这些触发器绑定(bind)到一个作业。但是失败了

 "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); 部分尝试多次安排同一个作业。

尝试在 for 循环之前添加 sched.addJob(job, true); 以仅添加一次('true' 用于替换旧作业(如果存在)),并在循环内使用sched.scheduleJob(trigger); 而不是 sched.scheduleJob(job, trigger);

sched.scheduleJob(trigger); 能够将触发器添加到作业中,因为您使用 .forJob(job) 属性指定了它

关于java - 可以在 quartz 中使用不同的触发器运行相同的作业吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27229538/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com