Я использую Tomcat версии 6.0. Мое требование состоит в том, чтобы при запуске tomcat я хотел бы запустить QuartzScheduler
, который будет планировать некоторые задания с регулярным интервалом. Я пытаюсь найти наилучший способ сделать это. Вот варианты, которые я мог придумать -
- Я могу сделать это через сервлет с дескриптором "
load-on-startup
" в файле web.xml
, чтобы запустить планировщик и запланировать задания внутри сервлета.
- Можно сделать, используя
ContextListener
(для меня это звучит лучше, чем 1). Это может быть простой подход для запуска планировщика в методе contextInitialized
и выключения планировщика в методе contextDestroyed
.
- Использование дескриптора MBean. Я разработал MBean, который будет запущен, когда сервер запустится с файлом mbeans-descriptor.xml.
Мне кажется, что второй подход лучше. Третий может быть не очень хорошей идеей, так как он явно не является MBean для мониторинга с помощью jconsole или около того Моя цель - запустить планировщик и остановить его, когда остановится tomcat.
Есть ли лучший и более чистый способ сделать это?