#oracle #jakarta-ee #service #websphere #web-application-project
#Oracle #джакарта-ee #Обслуживание #websphere #веб-приложение-проект
Вопрос:
У меня есть веб-приложение с J2EE и Spring, связанное с базой данных Oracle 10g. Я хочу создать службу на Java, которая будет опрашивать статистику из базы данных и отправлять почту каждые 5 минут. Эта служба должна запускаться при развертывании приложения в Tomcat или Web-sphere. Есть идеи, как это можно сделать?? Спасибо
Ответ №1:
Поскольку используется Spring, его классы времени выполнения и планирования кажутся естественным выбором. Они работают как в Tomcat, так и в Websphere, просто создайте свою задачу как POJO и запланируйте ее:
<bean id="PollingTask" class="com.sth.PollingPOJO">
<!-- properties, if any -->
</bean>
<task:scheduler id="scheduler" pool-size="1" />
<task:scheduled-tasks scheduler="scheduler">
<!-- runs every 30 minutes -->
<task:scheduled ref="PollingTask" method="run" fixed-delay="#{ 30*60*1000 }" />
</task:scheduled-tasks>
PollingTask
Выглядит так (обратите внимание, что это не обязательно реализовывать Runnable
, метод «run» — это просто соглашение):
class PollingTask() {
public void run() {
// entry point
}
}
Комментарии:
1. Спасибо за предложение, я постараюсь использовать это. И протестировать ее в моем приложении.