Запуск запланированных методов на Tomcat - PullRequest
2 голосов
/ 22 февраля 2011

Я пытаюсь настроить метод, который будет автоматически запускаться сервером в определенное время.Например, метод, который отправляет электронные письма контактам каждую пятницу в 9.00.Я видел методы, которые запускаются при первом запуске сервера, и мне было интересно, возможно ли то, что я хочу сделать.Если это возможно, может кто-нибудь указать мне, где я могу начать читать, как это сделать.Любая помощь будет высоко оценена.

Ответы [ 3 ]

2 голосов
/ 22 февраля 2011

Существует отличная библиотека кварц , которая может помочь вам создавать запланированные задачи в вашем приложении.См., Например, руководство Планирование заданий в Java от o'reilly.

1 голос
/ 22 февраля 2011

Если вы действительно хотите сделать это вручную (и не использовать специальные инструменты, такие как Quartz), вы можете использовать Таймер , который будет создан при развертывании приложения и отменен при его уничтожении,используя ServletContextListener , объявленный в вашем web.xml.

Будьте готовы к дополнительной сложности, если ваше приложение кластеризовано на нескольких серверах.

0 голосов
/ 22 февраля 2011

Я также рекомендую использовать Quartz, как уже предлагал Йохан, это хорошо зарекомендовавшее себя решение для планирования заданий в приложениях Java, а также позволяет централизованно хранить задания в базе данных и кластеризовать несколько экземпляров Tomcat.

Если ваше веб-приложение использует Spring Framework, вы можете вместо этого использовать встроенную поддержку планирования .

...