2009-04-17 5 views
0

J'ai une exigence dans laquelle je dois effectuer une certaine activité reliée à la base de données lorsque mon Quartz sera fermé. Je veux dire que je dois effacer certaines données de la base de données lorsque j'arrête le planificateur. Est-ce que je peux y arriver?Je dois effectuer une tâche lorsque le planificateur Quartz est en cours d'arrêt

En recherchant sur Google, je suis tombé sur des méthodes pour déterminer l'état actuel du planificateur. Mais existe-t-il un moyen de capturer cet événement d'arrêt du planificateur.

Merci à l'avance, Ibu

Répondre

3

Pouvez-vous ajouter un ScheduleListener et regarder pour les appels sur schedulerShutdown()?

par exemple. Mettre en œuvre une instance de ScheduleListener (qui serait probablement seulement faire quelque chose pour la mise en œuvre de schedulerShutdown().

Puis ajoutez à votre instance de planificateur à l'aide Scheduler.addSchedulerListener(). De cette façon, votre instance de SchedulerListener devrait obtenir un rappel lorsque le programmateur arrête.

Cela suppose que le programmateur arrête proprement. Vous pouvez devoir ajouter un Runtime shutdownHook demander au programmateur d'arrêt.

+0

Merci pour la réponse Brian, un exemple simple serait vraiment utile moi beaucoup à comprendre –

+0

Je n'ai pas fait ça (j'avoue) mais j'ai amélioré ma réponse un peu. J'espère que cela devrait vous permettre d'aller ... –

+0

Hé, gr8 .. ça a marché .. 1 question de plus si cela ne vous dérange pas;) .. Bien que je suis assez sûr que je ne peux pas faire n'importe quelle activité au cas où mon Scheduler ne éteindre proprement (ex: j'ai fermé la fenêtre de commande/pressé ctrl + c alors que le planificateur est toujours en cours d'exécution), pensez-vous qu'il existe un tel moyen ou un tel traitement? –

Questions connexes