2010-11-24 21 views
14

私はSpringを使用して起動時にデータベースから設定されたジョブをロードするアプリケーションにQuartzスケジューラ(SpringのTaskSchedulerインターフェイスで抽象化)を注入しています。Quartzでスケジュールされたジョブをキャンセルする方法

それは、スケジューラでこのような何か各ジョブが追加されています。それは、その後の仕事/トリガーをキャンセルするために使用することができたjob_idのようなものを指定することができます - に言う:私の質問はこれです

TaskScheduler taskScheduler = ...;//injected  
Runnable runableThing = ...; 
String cronExpression = ...; //from DB 
taskScheduler.schedule(runableThing, new CronTrigger(cronExpression)); 

をユーザーがWebインターフェイスでキャンセルするジョブを選択したことに対する応答?

私は春のドキュメントを見てきましたが、これを行う方法がありません。

喜んで受け取ったアイデア。ジョブとスケジュール解除を削除するジョブ

scheduler.unscheduleJob(triggerName, triggerGroup); 

の特定のトリガーをスケジュールの解除

+0

感謝Puspendu Banerjee 'と答えました。私は料理本の例に気付かなかった - 本当に便利です。 –

答えて

21

そのトリガのすべて

scheduler.deleteJob(jobName, jobGroup); 

参考: 'マットB' と 'へhttp://www.opensymphony.com/quartz/wikidocs/UnscheduleJob.html

+0

彼はSpringの 'org.springframework.scheduling.TaskScheduler'について質問していました。あなたの例は、ネイティブのQuartzスケジューラを参照しています。 – mwhs

1
ScheduledFuture<V> job = taskSchedule.schedule(runableThing, new CronTrigger(cronExpression)) 
job.cancel(true); 
関連する問題