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 :
Mais ce code ne marche pas. Pourtant le raisonnement et l'algo me parait bon.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 }
Si quelqu'un a une idée.
Partager