После использования Spring классы Time и планирование кажутся естественным выбором. Они работают как в 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
}
}