Api quartz
Edited by Foxit PDF Editor Copyright (c) by Foxit Software Company, 2004 For Evaluation Only.
Planification de tâches en JAVA
Table des matières Introduction ………………………………………………………………………………………………………. 1 Planification de tâches avec le JDK ……………………………………………………………………..2 Planification de tâches avec Quartz…………………………………………………………………….. 4 3.1 Premiers pas ………………………………… ………………………………………………………………… 4 3.1.1 Installation / Configuration …………………………………………………………………….. 4 3.1.2 Démarrage……………………………………………………………………………………………. 4 3.1.3 Définition d’un Job………………………………………………………………………………… 5 3.1.4 Définition d’un Job avec conservation d’état…………………………………………….. 5 3.1.5 Définition d’un Trigger………………………………………………………………………….. 5 3.1.6 Echec d’activation d’un trigger (misfire) : ………………………………………………… 7 3.1.7 Les listeners………………………………………………………………………………………….. 7 3.2 Gestion des Jobs et Triggers……………………………………………………………………………8 3.3 Services techniques ………………………………………………………………………………………. 9 3.3.1 Gestion des exécutions concurrentes………………………………………………………… 9 3.3.2 Persistance ……………………………………………………………………………………………. 9 3.3.3 Séparation Client/Serveuravec RMI………………………………………………………. 10 3.3.4 Clustering …………………………………………………………………………………………… 12 3.3.5 Plugins ……………………………………………………………………………………………….. 13 3.4 Quelques Jobs utiles fournis avec Quartz :…………………………………………………….. 13 3.5 Démarrer le scheduler en même temps qu’un serveur web……………………………….. 15 4 Conclusion……………………………………………………………………………………………………….. 15 5 Références……………………………………………………………………………………………………….. 16 1 2 3
1 Introduction
Beaucoup d’ applications d’entreprise nécessitent des traitements souvent longs et coûteux en ressources système. Lorsque ces traitements ne nécessitent pas d’intéraction avec l’utilisateur, leur déclenchement peut être différé sur une période de charge faible, afin de ne pas détériorer les temps de réponse. Depuis la version 1.4, java permet d’effectuer desplanifications de tâche simples. Cependant les applications d’entreprise exigent des possibilités de reprise après panne, haute disponibilité, etc. C’est ce que propose Quartz, une librairie open-source.
Mots clés : Planification de tâche (Job-Scheduling), Java, Timer, Thread, Quartz
2 Planification de tâches avec le JDK
Remarque : Ce tutorial s’est basé sur la version 1.4.2 du JDK. Depuisla version 1.3, l’API standard de Java propose un système de planification de tâches basique au travers des classes java.util.Timer et java.util.TimerTask [1]. La classe Timer représente le scheduler et TimerTask une tâche à exécuter. On définit une tâche avec une classe qui dérive de TimerTask et implémente la méthode run(). Une instance de la tâche est ensuite passée au Timer en spécifiant des…