Verwendung von Quarz mit Feder
In meiner Anwendung gibt es eine Anforderung in der Lage sein zum erstellen von Geplanten Job(s) in Abhängigkeit von der Art der Anfrage, die kommt (Dynamisch).
Kann ich immer noch mit Frühling zu erstellen und trigger-Jobs? Wenn ja, wie?
Jede Hilfe wäre nützlich.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gegeben, dass die SchedulerFactoryBean stellt eine native Quartz Scheduler-Objekt, Sie können Draht, der direkt in den controller Klasse, und dann dynamisch erstellen und registrieren Trigger und jobs mit der Scheduler-Objekt.
Quelle selbst kann nicht verwendet werden, die für das scheduling von dynamisch erstellten jobs, da Spring bean Unterstützung für statisch konfigurierte Arbeitsplätze, aber die native Quartz Scheduler-API ist vernünftig genug, sich auf seine eigenen (kaum). Fr Auslösung der Aufträge, die Quarz -, job -, nicht Frühling ist.
edit: entweder ich bin falsch verstehen, die ursprüngliche Frage, oder jeder andere ist. Die anderen Antworten alle Details, wie Sie die statische Draht eine Reihe von quartz-jobs mit Feder, aber die Frage war, wie dynamisch planen von Aufträgen als Anfragen kommen.
Blick auf CronTriggerBean und JobDetailBean. Die 'MyJob' - Klasse verspottet unten ist ein Beispiel der QuartzJobBean. Der cron-Ausdruck ist das, was Sie erwarten würden, aber mit Sekunden als ersten Wert.
Scheint es nicht zu sein, viel vollständige Informationen auf dieser. Dies ist, wie ich planen der Aufträge dynamisch. Natürlich können Sie ersetzen die einfache trigger mit einigen anderen auslösen.
Spring-Bean:
Ausführung des Auftrags erhalten sofort ein Verweis auf die Aufgabenplanung und die Arbeit, fügen Sie eine einfache trigger und setzen Sie es in den scheduler so:
Können Sie download Beispiel-source-code von dieser link
Können Sie auch Frühjahr, um die trigger-Methoden auf Ihre Bohnen mit Quarz (d.h. youdon nicht brauchen, zu erstellen Quarz-spezifische Klassen überhaupt) mit der
MethodInvokingJobDetailFactoryBean
im Paketorg.springframework.scheduling.quartz
Ein Jahr später und ich finde mich mit etwas sehr ähnlich ist. Googeln um, ich fand dieser link beschreibt den Zugriff auf den Anwendungskontext innerhalb einer geplanten Aufgabe durch das JobExecutionContext. Ich denke, ich werde es schaffen werden, eine abstrakte Art job, die können tun, einige der tatsächlichen Schaffung von Arbeitsplätzen und verwenden Sie einen Prototyp zum tatsächlichen injizieren erforderlichen Dienstleistungen, wenn der job ausgeführt werden muss.
Spring 3 (neueste version zum Zeitpunkt des Schreibens) unterstützt die Einrichtung von Arbeitsplätzen fast vollständig mit Anmerkungen.
Finden Sie unter: Frühjahr Verweis auf die Terminierung