使用Java创建服务,该服务在部署应用程序时运行?

时间:2011-10-18 11:20:22

标签: oracle java-ee service websphere web-application-project

我有一个使用J2EE和Spring的Web应用程序,它与Oracle 10g数据库有关。我想在Java中创建一个服务,它将从数据库中轮询统计信息并每5分钟发送一次邮件。当应用程序部署在Tomcat或Web-sphere下时,应启动此服务。 任何想法如何做到这一点? 感谢

1 个答案:

答案 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
    }
}