次の一連のイベントを検討してください。クォーツ 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**
アプリケーションの削除に失敗した後、実行予定の時間を過ぎてアプリケーションを実行させた場合、... 実行されません (正常に削除されたかのように)
そのような行動を説明できるものは何ですか? グループの一部として Quartz でスケジュールされていることをどのように知ることができますか?
編集:
トリガーは次のように設定されます。
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);