我有一个使用J2EE和Spring的Web应用程序,它与Oracle 10g数据库有关。我想在Java中创建一个服务,它将从数据库中轮询统计信息并每5分钟发送一次邮件。当应用程序部署在Tomcat或Web-sphere下时,应启动此服务。 任何想法如何做到这一点? 感谢
答案 0 :(得分:0)
自从使用Spring以来,它的Time execution and scheduling类似乎是一个自然的选择。它们在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
}
}