Springを使用して、起動時にデータベースから構成されたジョブをロードするQuartzスケジューラー(SpringのTaskSchedulerインターフェイスで抽象化)をアプリに挿入しています。
スケジューラに各ジョブを次のように追加します。
TaskScheduler taskScheduler = ...;//injected
Runnable runableThing = ...;
String cronExpression = ...; //from DB
taskScheduler.schedule(runableThing, new CronTrigger(cronExpression));
私の質問はこれです:後でジョブ/トリガーをキャンセルするために使用できるjob_idのようなものを指定することは可能ですか?たとえば、ユーザーがWebインターフェイスでキャンセルするジョブを選択したことに応答して?
Springのドキュメントを確認しましたが、これを行う方法がわかりません。
どんなアイデアもありがたく受けました。
ジョブの特定のトリガーのスケジュールを解除する
scheduler.unscheduleJob(triggerName, triggerGroup);
ジョブを削除し、そのすべてのトリガーのスケジュールを解除する
scheduler.deleteJob(jobName, jobGroup);
参照: http://www.opensymphony.com/quartz/wikidocs/UnscheduleJob.html
ScheduledFuture<V> job = taskSchedule.schedule(runableThing, new CronTrigger(cronExpression))
job.cancel(true);