无法存储名称为:'trigger1' 和组:'group1' 的触发器,因为已存在具有此标识的触发器

use*_*576 5 cron scheduler quartz-scheduler crontrigger

在石英中引用删除触发器

我遇到了同样的问题:无法存储名称为:'schedulerJobTrigger' 和组:'group1' 的触发器,因为已经存在具有此标识的触发器。

所以在我考虑取消工作安排之前,我有一个查询:

假设我有 2 个工作.. 详细信息如下: 工作 1:今天开始时间 @ 17:30,每 5 分钟后重复两次工作 2:今天开始时间 @ 17:37

因此,如果我在 17:30 执行后取消调度作业(应该删除触发器)并执行 Job2,那么调度程序将如何运行需要分别在 @17:35 和 17:40 运行的 Job1(这是重复)

谢谢,请帮忙!

在尝试上述场景之前,即使我用不同的日程安排了一个新工作@ scheduler.scheduleJob(job, trigger); 它给了我一个例外:无法存储名称为:'schedulerJobTrigger' 和组:'group1' 的触发器,因为已经存在具有此标识的触发器。

use*_*576 5

解决了,检查是否存在相同的触发器,如果​​存在,则创建一个新的触发器实例..使用不同的标识并运行代码。

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);
}
Run Code Online (Sandbox Code Playgroud)