Как отменить запланированную работу в Quartz

Я использую Spring для добавления планировщика Quartz (абстрагированного с помощью Spring интерфейса TaskScheduler) в мое приложение, которое загружает задания, настроенные из базы данных при запуске.

Он добавляет каждое задание в планировщик примерно так:

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

мой вопрос заключается в следующем: возможно ли указать что-то вроде job_id, которое впоследствии может быть использовано для отмены задания/триггера - скажем, в ответ на то, что пользователь выбирает задание, которое нужно отменить в веб-интерфейсе?

Я просмотрел документы Spring и не вижу способа сделать это.

Любые идеи с благодарностью получили.

Ответы

Ответ 1

Внеплановый специфический триггер работы

scheduler.unscheduleJob(triggerName, triggerGroup);

Удаление задания и несанкционированное выполнение всех его триггеров

scheduler.deleteJob(jobName, jobGroup);

Ссылка: http://www.opensymphony.com/quartz/wikidocs/UnscheduleJob.html

Ответ 2

ScheduledFuture<V> job = taskSchedule.schedule(runableThing, new CronTrigger(cronExpression))
job.cancel(true);