Cron 无法存储名为&x27;触发器1';和组:';第1组';,因为已经存在一个具有此标识的

Cron 无法存储名为&x27;触发器1';和组:';第1组';,因为已经存在一个具有此标识的,cron,quartz-scheduler,scheduler,crontrigger,Cron,Quartz Scheduler,Scheduler,Crontrigger,提及 我也遇到了同样的问题: 无法存储名为“schedulerJobTrigger”且组为“group1”的触发器,因为已存在具有此标识的触发器 因此,在我考虑不安排工作之前,我有一个疑问: 假设我有两份工作。。详情如下: 作业1:今天17:30开始,每5分钟重复两次 作业2:今天开始时间@17:37 因此,如果我在17:30执行一个作业后取消了对该作业的调度(假定该作业会删除触发器),并执行作业2,那么调度程序将如何运行需要分别在17:35和17:40运行的作业1(这是重复) 谢谢,请帮忙 在

提及

我也遇到了同样的问题: 无法存储名为“schedulerJobTrigger”且组为“group1”的触发器,因为已存在具有此标识的触发器

因此,在我考虑不安排工作之前,我有一个疑问:

假设我有两份工作。。详情如下: 作业1:今天17:30开始,每5分钟重复两次 作业2:今天开始时间@17:37

因此,如果我在17:30执行一个作业后取消了对该作业的调度(假定该作业会删除触发器),并执行作业2,那么调度程序将如何运行需要分别在17:35和17:40运行的作业1(这是重复)

谢谢,请帮忙

在尝试上述场景之前,即使我使用不同的时间表安排新作业
@scheduleJob(作业,触发器);它给了我一个例外:无法存储名为“SchedulerJobstrigger”和组为“group1”的触发器,因为已经存在一个具有此标识的触发器。

已解决,检查是否存在相同的触发器如果是,创建一个具有不同标识的新触发器实例..并运行代码

boolean flag = scheduler.checkExists(trigger.getKey());
if (!flag)
{
    scheduler.start();
    scheduler.scheduleJob(job, trigger);
}
else
{
    Trigger trigger1 =TriggerBuilder.newTrigger().withIdentity("schedulerJobTrigger1", "group1").withSchedule(schedBuilder).build();;
    scheduler.start();
    scheduler.scheduleJob(job, trigger1);
}