}
2. Ensuite, configurez-le au printemps :
<identifiant du bean="methodInvokingJobDetail">
<nom de la propriété="targetObject">
<ref bean="taskJob" />
</propriété>
<nom de la propriété="targetMethod">
<value>Dites bonjour</value>
</propriété>
</haricot>
<!-- Configurer le déclencheur-->
<identifiant du bean="cronTrigger">
<!-- TaskJob ne peut pas être directement référencé dans l'attribut jobDetail ici, car il nécessite un objet de type jobDetail, nous devons donc le transférer via MethodInvokingJobDetailFactoryBean -->
<nom de la propriété="jobDetail">
<ref bean="methodInvokingJobDetail" />
</propriété>
<!-- Déclenché toutes les minutes de 8h00 à 21h00 tous les jours, veuillez consulter l'annexe pour des instructions spécifiques-->
<nom de la propriété="cronExpression">
<valeur>0 * 08-21 * * ?</valeur>
</propriété>
</haricot>
<haricot>
<!-- Ajouter un déclencheur -->
<nom de la propriété="triggers">
<liste>
<ref local="cronTrigger" />
</liste>
</propriété>
</haricot>
</haricots>
3. Pour tester la classe d'exécution, vous pouvez voir les tâches planifiées en cours d'exécution tant que vous chargez le fichier de configuration Spring.
importer org.springframework.context.ApplicationContext ;
importer org.springframework.context.support.ClassPathXmlApplicationContext ;
TestApp de classe publique {
public static void main (String[] arguments) {
// TODO Stub de méthode généré automatiquement
System.out.println("Chargement du fichier de configuration Spring....");
Contexte ApplicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
System.out.println("Chargement du fichier de configuration terminé !");
//ApplicationContext context2 = new ClassPathXmlApplicationContext("test/timerTask/quartzTimer.xml");
}
}
Si vous souhaitez l'exécuter dans un projet Web, vous devez également ajouter le code suivant à web.xml :
Voici quelques instructions extraites d’Internet :
Champ Valeurs autorisées Caractères spéciaux autorisés secondes 0-59, - */
Minutes 0-59, - */
Heures 0-23, - */
Date 1-31, - * / LWC
Mois 1-12 ou JAN-DEC, - * /
Dimanche 1-7 ou SUN-SAT, - * ? / LC #
Année (facultatif) laissée en blanc, 1970-2099, - */
sens de l'expression
"0 0 12 * * ?" Se déclenche à midi tous les jours
"0 15 10 ? * *" se déclenche tous les jours à 10h15
"0 15 10 * * ?" se déclenche tous les jours à 10h15
"0 15 10 * * ? *" se déclenche tous les jours à 10h15
"0 15 10 * * ? 2005" Déclenché tous les jours à 10h15 en 2005
"0 * 14 * * ?" se déclenche toutes les minutes de 14h à 14h59 tous les jours
"0 0/5 14 * * ?" se déclenche toutes les 5 minutes de 14h à 14h55 tous les jours
"0 0/5 14,18 * * ?" se déclenche toutes les 5 minutes entre 14h et 14h55 et toutes les 5 minutes entre 18h et 18h55
"0 0-5 14 * * ?" se déclenche toutes les minutes de 14h à 14h05 tous les jours
"0 10,44 14 ? 3 MER" se déclenche tous les mercredis du mois de mars à 14h10 et 14h44
"0 15 10 ? * LUN-FRI" se déclenche à 10h15 du lundi au vendredi
"0 15 10 15 * ?" Déclenché à 10h15 le 15 de chaque mois
"0 15 10 L* ?" se déclenche à 10h15 le dernier jour de chaque mois
"0 15 10 ? *6L" se déclenche le dernier vendredi de chaque mois à 10h15
"0 15 10 ? * 6L 2002-2005" Déclenché à 10h15 le dernier vendredi de chaque mois de 2002 à 2005
"0 15 10 ? * 6#3" se déclenche le troisième vendredi de chaque mois à 10h15