Интеграция кота и Кварцевого планировщика на запуске

Я использую версию 6.0 кота. Мое требование - то, что, когда кот запускает, я хотел бы запустить a QuartzScheduler который запланирует некоторые задания в равном интервале. Я пытаюсь выяснить самый лучший способ сделать это. Вот опции, о которых я мог думать -

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

Мне похоже, что второй подход лучше. Третий не мог бы быть хорошей идеей, поскольку это - ясно не MBean, который будет контролироваться jconsole или около этого. Моя цель состоит в том, чтобы запустить планировщик и остановить его, когда кот останавливается. Есть ли какой-либо лучше и более чистый способ сделать это?

16
задан рüффп 25 February 2011 в 21:30
поделиться

1 ответ

Я бы также порекомендовал второй подход, использующий сервлет, который существует только для запуска некоторой службы, хотя обычное использование кажется мне хакерским.

Похоже, что quartz уже предоставляет ServletContextListener именно для этой цели:

http://quartz-scheduler.org/documentation/quartz-2.x/cookbook/ServletInitScheduler

и

http: / Подробности см. в /www.quartz-scheduler.org/api/2.0.0/

.

15
ответ дан 30 November 2019 в 22:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: