Довольно частая задача для веб-приложений - выполнение каких-либо периодических задач, не зависящих от пользовательской активности. Планировщик, другими словами. Одно из решений, которое мы использовали, например, при разработке мэшапа Twitter 411 (там выполняется периодический вызов Twitter API) состоит в выполнении HTTP запросов из скрытого фрейма на другом веб-сайте c достаточной посещаемостью. Посетители сайта по сути обеспечивают периодическое выполнение запросов. Этот метод описан здесь
Вот еще одно решение - уже на системном уровне: Lifecyle Modules Glassfish. Это компоненты, которые запускаются при раскрутке сервера, выполняются в его окружении и, дополнительно, могут получать уведомления о событиях жизненного цикла.
Кстати, еще одно возможное решание для подобных задач - это custom MBeans.
Ещё удобное решение
ReplyDeleteTomcat + Spring
и Spring's Lifecycle interface
http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/context/Lifecycle.html