2010-11-24 13 views
14

Ich verwende Spring, um einen Quartz-Scheduler (abstrahiert mit Spring's TaskScheduler-Schnittstelle) in meine App zu laden, der beim Start konfigurierte Jobs aus einer Datenbank lädt.Abbrechen eines geplanten Jobs in Quartz

Es jeden Job im Scheduler etwas wie folgt ergänzt:

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

meine Frage ist: Ist es möglich, zu spezifizieren so etwas wie ein job_id, die den Job/Trigger abgebrochen werden kann anschließend - sagen wir in Antwort an einen Benutzer, der den zu stornierenden Job in der Weboberfläche auswählt?

Ich habe mir die Spring-Dokumente angeschaut und sehe keinen Weg, dies zu tun.

Alle Ideen dankbar erhalten.

+0

Dank 'matt b' ​​und ' Puspendu Banerjee 'für diese Antwort. Ich hatte die Kochbuchbeispiele nicht bemerkt - wirklich nützlich. –

Antwort

21

Unscheduling eine besondere Auslöser von Job

scheduler.unscheduleJob(triggerName, triggerGroup); 

einen Job und Unscheduling Löschen aller seiner Trigger

scheduler.deleteJob(jobName, jobGroup); 

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

+0

Er fragte nach dem Spring 'org.springframework.scheduling.TaskScheduler'. Ihre Beispiele beziehen sich auf den nativen Quartz-Scheduler. – mwhs

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