2017-05-23 1 views
0

J'ai de nombreux emplois avec Quartz Schedule et je l'exécute dans mon application Java. (un événement sur mon webapp actif une tâche à exécuter)Quartz Java exécuter des travaux dans plusieurs machines

Mon webapp fonctionne dans 4 machines avec deux cas chacun, donc:

comment puis-je faire en sorte que le même travail ne fonctionne pas 2 fois sur 2 différentes machines?

et comment je m'assure qu'il n'y a pas de problèmes de persistance dans la base de données?

+1

Vous pouvez annoter votre travail avec ** DisallowConcurrentExecution ** qui s'assurera que plusieurs instances ne sont pas exécutées simultanément http://www.quartz-scheduler.org/api/2.2.1/org/ quartz/DisallowConcurrentExecution.html – Srinivas

Répondre

0

Vous pouvez configurer le clustering Quartz avec JDBC-JobStore. Fondamentalement, toutes vos instances devraient partager la même base de données, et Quartz s'assurera qu'une seule instance exécutera un travail spécifique. Plus d'informations peuvent être trouvées here