简体   繁体   中英

How to cancel a scheduled Quartz job in Spring

I'm using Spring to inject a Quartz scheduler (abstracted with Spring's TaskScheduler interface) into my app that loads jobs configured from a database at startup.

It adds each job in the scheduler something like this:

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

my question is this: Is it possible to specify something like a job_id that can subsequently be used to cancel the job/trigger - say in response to a user selecting the job to be cancelled in the web interface?

I've looked at the Spring docs and can't see a way to do this.

Any ideas gratefully received.

Unscheduling a Particular Trigger of Job

scheduler.unscheduleJob(triggerName, triggerGroup);

Deleting a Job and Unscheduling All of Its Triggers

scheduler.deleteJob(jobName, jobGroup);

Ref: http://www.opensymphony.com/quartz/wikidocs/UnscheduleJob.html

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM