2017-02-23 3 views
0

J'ai configuré un planificateur à quartz avec 4 tâches différentes, chacune déclenchant toutes les 1 minute. Le programme que j'ai configuré est la suivante: -Plusieurs tâches dans Quartz Scheduler ne s'exécutant pas en fonction des triggers

\t <schedule> 
 

 
\t \t <job> 
 
\t \t \t <name>LockMonitor</name> 
 
\t \t \t <job-class>background.jobs.LockMonitor</job-class> 
 
\t \t </job> 
 
\t \t <trigger> 
 
\t \t \t <simple> 
 
\t \t \t \t <name>LockJobTrigger</name> 
 
\t \t \t \t <job-name>LockMonitor</job-name> 
 
\t \t \t \t <repeat-count>-1</repeat-count> 
 
\t \t \t \t <repeat-interval>60000</repeat-interval> 
 
\t \t \t </simple> 
 
\t \t </trigger> 
 

 
\t \t <job> 
 
\t \t \t <name>LogMonitor</name> 
 
\t \t \t <job-class>background.jobs.LogMonitorJob</job-class> 
 
\t \t </job> 
 
\t \t <trigger> 
 
\t \t \t <simple> 
 
\t \t \t \t <name>LogMonitorTrigger</name> 
 
\t \t \t \t <job-name>LogMonitor</job-name> 
 
\t \t \t \t <repeat-count>-1</repeat-count> 
 
\t \t \t \t <repeat-interval>60000</repeat-interval> 
 
\t \t \t </simple> 
 
\t \t </trigger> 
 

 
\t \t <job> 
 
\t \t \t <name>ProcessMonitor</name> 
 
\t \t \t <job-class>background.jobs.ProcessMonitor</job-class> 
 
\t \t </job> 
 
\t \t <trigger> 
 
\t \t \t <simple> 
 
\t \t \t \t <name>ProcessMonitorTrigger</name> 
 
\t \t \t \t <job-name>ProcessMonitor</job-name> 
 
\t \t \t \t <repeat-count>-1</repeat-count> 
 
\t \t \t \t <repeat-interval>60000</repeat-interval> 
 
\t \t \t </simple> 
 
\t \t </trigger> 
 

 
\t \t <job> 
 
\t \t \t <name>HealthCheck</name> 
 
\t \t \t <job-class>background.jobs.HealthCheck</job-class> 
 
\t \t </job> 
 
\t \t <trigger> 
 
\t \t \t <simple> 
 
\t \t \t \t <name>HealthCheckTrigger</name> 
 
\t \t \t \t <job-name>HealthCheck</job-name> 
 
\t \t \t \t <repeat-count>-1</repeat-count> 
 
\t \t \t \t <repeat-interval>60000</repeat-interval> 
 
\t \t \t </simple> 
 
\t \t </trigger> 
 

 
\t </schedule>

Le problème que je rencontre est que seul le 1er et 2e emplois CHAISE la plupart du temps. Les troisième et quatrième emplois, à savoir ProcessMonitor et HealthCheck, ne sont exécutés qu'une fois de temps en temps. Quelqu'un peut il m'aider avec ça? Est-ce parce que j'ai configuré le même intervalle de temps pour tous les travaux? Existe-t-il un moyen par lequel je peux m'assurer que tous les 4 travaux sont exécutés avant de commencer l'exécution suivante?

J'ai configuré tous les emplois implémente StatefulJob

Répondre

0

Combien de fils avez-vous configurer? Quand je garde le nombre de thread == nombre d'emplois enregistrés pour fonctionner dans le cadre de Quartz, tout semble fonctionner comme prévu.