【问题标题】:Unable to store Trigger with name: 'trigger1' and group: 'group1', because one already exists with this identification无法存储名称为“trigger1”和组:“group1”的触发器,因为已存在具有此标识的触发器
【发布时间】:2014-11-11 11:13:58
【问题描述】:

参考delete trigger in quartz

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

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

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

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

谢谢,请帮忙!

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

【问题讨论】:

    标签: cron quartz-scheduler scheduler crontrigger


    【解决方案1】:

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

    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);
    }
    

    【讨论】:

      猜你喜欢
      • 2016-12-24
      • 2023-01-19
      • 2017-05-23
      • 2019-08-05
      • 2015-11-03
      • 2019-05-20
      • 1970-01-01
      • 2017-08-11
      • 2013-02-24
      相关资源
      最近更新 更多