Intégration de Tomcat et du planificateur Quartz au démarrage
Je suis en utilisant la version de tomcat 6.0. Mon exigence est que lorsque tomcat démarre, je voudrais commencer un QuartzScheduler
qui fixera certains emplois, à intervalle régulier. Je suis à essayer de comprendre la meilleure façon possible de le faire. Voici les options que je pouvais penser de
- Je peux le faire via une servlet avec "
load-on-startup
" descripteur dansweb.xml
fichier pour lancer le planificateur et de planifier les travaux à l'intérieur de la servlet. - Peut être fait à l'aide d'un
ContextListener
(ce qui semble une meilleure approche de moi que 1). Cela pourrait être un propre approche pour commencer le planificateur à l'intérieur de lacontextInitialized
de la méthode et de l'arrêt de l'ordonnanceur à l'intérieur decontextDestroyed
méthode. - À l'aide d'un MBean-descripteur. Je développe un MBean qui va commencer lorsque le serveur démarre avec mbeans-descriptor.xml fichier.
Pour moi, il ressemble à la deuxième approche est la meilleure. Troisième peut-être pas une bonne idée car c'est clairement pas un MBean à être surveillé par la jconsole. Mon but est de lancer le planificateur et l'arrêter quand tomcat s'arrête.
Est-il mieux et plus propre façon de le faire ?
source d'informationauteur Shamik
Vous devez vous connecter pour publier un commentaire.
Je recommanderais la deuxième approche, à l'aide d'une Servlet qui n'existe que pour démarrer un service, alors qu'un usage commun, semble hacky pour moi.
Il semble que le quartz offre déjà un ServletContextListener pour cet objectif précis:
http://quartz-scheduler.org/documentation/quartz-2.x/cookbook/ServletInitScheduler
et
http://www.quartz-scheduler.org/api/2.0.0/
pour plus de détails.