[Quartz] Job sur l'instance
Bonjour,
Je suis sur un projet javaEE j'ai un job quartz qui s’exécute parfaitement.
Mon problème se situe sur le fait que le job déclenché par Quartz a un trigger avec une durée très courte 20 seconde et il peut y avoir plusieurs instance du même job déclancher en même temp (ce que je ne veux pas) .
J'aimerais savoir si un job est en cours. Alors tu ne relance pas un autre job.
J'arrive déjà à savoir si il y a plusieurs instance du même job :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
List<JobExecutionContext> jobExecutionContexts = jec.getScheduler().getCurrentlyExecutingJobs();
for (JobExecutionContext executionContext : jobExecutionContexts) {
System.out.println(" JobKey.jobkey : " + JobKey.jobKey("anyJobName", "group1"));
System.out.println(" job instance : " + executionContext.getJobInstance());
if (executionContext.getJobDetail().getKey().equals(JobKey.jobKey("anyJobName", "group1")) && jobExecutionContexts.size() > 1) {
System.out.println(" Le job existe ");
return;
}
else{
// Make the tache
} |
Mais ce code ne marche pas. Pourtant le raisonnement et l'algo me parait bon.
Si quelqu'un a une idée.