Java 是否可以在quartz中使用不同的触发器运行相同的作业?
我使用以下代码创建多个触发器,然后将所有这些触发器绑定到一个作业。但它失败了Java 是否可以在quartz中使用不同的触发器运行相同的作业?,java,quartz-scheduler,Java,Quartz Scheduler,我使用以下代码创建多个触发器,然后将所有这些触发器绑定到一个作业。但它失败了 "org.quartz.ObjectAlreadyExistsException: Unable to store Job : 'Group.Job', because one already exists with this identification. " for (SchedulerBean schedulerBean : schedulerList) { Trigger tri
"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(作业,触发器)代码>零件尝试多次计划同一作业
尝试添加sched.addJob(job,true)
在for循环之前添加一次(如果存在,则“true”用于替换旧作业),并在循环内部使用
sched.scheduleJob(触发器)代码>而不是sched.scheduleJob(作业,触发器)代码>
sched.scheduleJob(触发器)
能够将触发器添加到作业中,因为您使用.forJob(job)
属性指定了它