La planification des tâches avec Quartz

Les objets Quartz

Les triggers

Il s'agit de créer des déclencheurs des tâches implémentées préalablement. Il est à noter qu'un job peut être déclenché par plusieurs triggers, mais réciproquement, un trigger ne peut pas déclencher plusieurs Jobs.

Il faut savoir qu'il existe trois types de triggers :

Utilisons un trigger simple, celui-ci sera lancé 11 fois (lancé une fois et répété 10 fois), toutes les 5 secondes :

					
//les arguments du SimpleTrigger : son nom, le scheduler, le nombre d'itérations du Job, l'intervalle de temps en ms
SimpleTrigger simpleTrigger = new SimpleTrigger(“FiveSeconds", Scheduler.DEFAULT_GROUP, 10, 5000);				
					
				

Utilisons un cron trigger, celui-ci sera lancé tous les deuxièmes lundis du mois à 8h20 :

					
//les arguments du CronTrigger : 
//son nom, le scheduler, l'expression cron [seconde/minute/heure/jour du mois/mois/jour de la semaine/annee]
CronTrigger cronTrigger = new CronTrigger("myTrigger", Scheduler.DEFAULT_GROUP, "0 20 8 ? * MON#2");			
					
				

Utilisons l'interface Calendar, avec deux exemples. Le premier exclu tous les vendredis, le second exclu les jours feriés.

					
//Classe permettant d'exclure certains jours de la semaine
WeeklyCalendar c = new WeeklyCalendar();

//Exclusion du vendredi
c.setDayExcluded(java.util.Calendar.FRIDAY, true);

//On donne un nom au calendrier
trigger.setCalendarName("weeklyCalendar");

//On ajoute la contrainte au scheduler
sched.addCalendar("weeklyCalendar", c, true, true);
					
				



Enfin, il est indispensable d'enregistrer le trigger auprès de l'ordonnanceur avec le job auquel il correspond :

					
sched.scheduleJob(jobDetail, trigger);
					
				

Valid XHTML 1.0!