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