Wie kann ich Jobs ausführen, nachdem der Anwendungskontext geladen wurde?
Möchte ich einige jobs kurz nach dem laden des Spring-context, aber ich weiß nicht, wie Sie dies tun.
Haben Sie eine Idee, wie das zu tun?
InformationsquelleAutor der Frage user405458 | 2010-10-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Andere Möglichkeit wäre es, einen listener registrieren, um die Anwendung, die Kontext-Ereignisse (). Im Grunde ist es die gleiche wie skaffman Lösung einfach umzusetzen:
statt Lifecycle. Es hat nur eine Methode, statt drei. 🙂
InformationsquelleAutor der Antwort Philipp Jardas
Wenn Sie möchten, führen Sie einen job nach dem Spring-Kontext starten, dann können Sie die
ApplicationListener
und die VeranstaltungContextRefreshedEvent
.InformationsquelleAutor der Antwort Dariusz Skrudlik
Schreiben Sie eine bean-Klasse implementiert die
org.springframework.context.Lifecycle
- Schnittstelle. Fügen Sie diese bean zu Ihrem Kontext, und diestart()
Methode wird aufgerufen, indem die container einmal, der Rahmen hochgefahren ist.InformationsquelleAutor der Antwort skaffman
Verwenden Sie die
@PostConstruct
annotation. Als können Sie aus beliebigen job Eigenschaften und garantieren die Ausführung Ihrer Methode für das load-Kontext.InformationsquelleAutor der Antwort user2791875
danke Euch allen für Eure Antworten.
In der Tat habe ich übersehen ein kleines detail in meiner Frage, ich wollte weglaufen Quarz Job nach dem laden der Anwendung Kontext..
Ich habe versucht, die Lösung stakfeman, aber ich hatte einige Probleme mit dem Quarz-Jobs.
Schließlich fand ich die Lösung: Verwenden Sie Quarz im Laufe des Frühlings ,hier ist der code:
danke nochmal für die Hilfe und ich entschuldige mich wenn die Frage war nicht ganz klar ':(
InformationsquelleAutor der Antwort user405458