2009-04-17 4 views
0

Ich habe eine Anforderung, in der ich eine bestimmte Datenbank retted Aktivität muss, wenn mein Quarz heruntergefahren wird. Ich meine, ich muss bestimmte Daten aus der Datenbank löschen, wenn ich den Scheduler herunterfahre. Kann ich das irgendwie erreichen?Ich muss eine Aufgabe ausführen, wenn der Quartz-Scheduler heruntergefahren wird

Beim googlen stieß ich auf Methoden, um den gegenwärtigen Zustand des Schedulers zu bestimmen. Aber gibt es eine Möglichkeit, dieses Scheduler-Shutdown-Ereignis zu erfassen.

Vielen Dank im Voraus, Ibu

Antwort

3

Können Sie eine ScheduleListener hinzufügen und für Anrufe auf schedulerShutdown() sehen?

z.B. Implementieren Sie eine Instanz von ScheduleListener (was wahrscheinlich nur tun etwas für die Umsetzung der schedulerShutdown() würde.

Dann fügen Sie es zu Ihrem Scheduler-Instanz mit Scheduler.addSchedulerListener(). Auf diese Weise Ihre Instanz von SchedulerListener einen Rückruf bekommen sollte wenn der Scheduler heruntergefahren.

Dies setzt voraus, der Scheduler sauber heruntergefahren. Sie kann eine Runtime shutdownHook hinzufügen muß die Scheduler zum Herunterfahren fragen.

+0

Danke für die Antwort Brian, wäre ein einfaches Beispiel wirklich helfen ich viel zu verstehen. –

+0

Ich habe das nicht getan (ich gestehe), aber ich habe meine Antwort etwas verbessert. Hoffentlich sollte das dich in Schwung bringen ... –

+0

Hey, gr8 .. es hat funktioniert ... noch 1 Frage, wenn es dir nichts ausmacht;) .. Obwohl ich ziemlich sicher bin, gibt es keine Möglichkeit, dass ich etwas tun kann, falls mein Scheduler das nicht tut sauber herunterfahren (zB: ich habe das Befehlsfenster geschlossen/gedrückte Strg + C gedrückt, während der Scheduler noch läuft), du denkst, es gibt einen solchen Weg oder einen solchen Umweg, dass ich damit umgehen kann? –