0

考虑以下事件序列。使用石英 1.8.0

    <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>1.8.0</version>
    </dependency>

我安排了将来要执行的工作

     job.setGroup(MY_GROUP);
     Date date = scheduler.scheduleJob(job, trigger);    // Valid date received

作业按预期执行。

然后我尝试通过运行删除作业

     boolean unscheduled = scheduler.deleteJob(event.getName(), MY_GROUP); // Always false

尝试删除作业总是会导致**false**

如果我让应用程序运行超过它计划执行的时间,在删除它失败后,它......不运行(好像它被成功删除)

什么可以解释这种行为?作为组的一部分,我如何知道石英中的安排?

编辑:

触发器设置为:

        SimpleTrigger trigger = new SimpleTrigger();
        trigger.setStartTime(new Date(event.getStartTime().inMillis()));
        trigger.setName("trigger" + event.getTriggerName());
        trigger.setRepeatInterval(event.getFrequency());
        trigger.setRepeatCount(SimpleTrigger.REPEAT_INDEFINITELY);
4

1 回答 1

1

你用的是什么触发器?如果您没有指定触发器应该触发多次,例如在重复间隔内,那么它只会触发一次,然后将被丢弃;如果您的作业详细信息不持久,那么一旦不再有触发器指向它,调度程序就会自动将其删除。

于 2013-05-07T17:28:22.303 回答