实现spring定时器方式1:Java的Timer类
spring定时器实现方式1:Java的Timer类
1.继承java.util.TimerTask类实现run方法
package com.tgwoo.ctspmt.test;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimerTask;
public class EmailReportTask extends TimerTask {
@Override
public void run() {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(date) + "{*****继承TimerTask类,实现run方法,此处定时需要处理的业务*****}");
//处理相关业务
}
}
(如下配置到applicationContext.xml中)
2.配置需要运行的类
<bean id="reportTimerTask" ref="reportTimerTask"></property>
<property name="period"><value>15000</value></property>
<property name="delay"><value>10000</value></property>
</bean>
注:timerTask属性告诉ScheduledTimerTask运行哪个bean, period属性每间隔(15000毫秒)运行一次, delay属性延迟启动(10000毫秒)Spring定时器
4.启动Spring定时器
<bean id="scheduleReportFactory" /></list>
</property>
</bean>
注:scheduledTimerTasks里显示一个需要启动的定时器任务的列表。
5.启动tomcat6服务后,Timer运行正常(在加载spring成功后,延迟10秒,每隔15秒运行定时器一次)
[2011-12-22 10:18:37,861][INFO][org.springframework.web.servlet.DispatcherServlet][4096]{FrameworkServlet 'springMVC': initialization started}
[2011-12-22 10:18:37,861][INFO][org.springframework.web.context.support.XmlWebApplicationContext][4096]{Refreshing WebApplicationContext for namespace 'springMVC-servlet': startup date [Thu Dec 22 10:18:37 CST 2011]; parent: Root WebApplicationContext}
[2011-12-22 10:18:37,861][INFO][org.springframework.beans.factory.xml.XmlBeanDefinitionReader][4096]{Loading XML bean definitions from ServletContext resource [/WEB-INF/springMVC-servlet.xml]}
.........
.........
2011-12-22 10:18:39 org.apache.catalina.startup.Catalina start
信息: Server startup in 6753 ms
2011-12-22 10:18:47{*****继承TimerTask类,实现run方法,此处定时需要处理的业务*****}
2011-12-22 10:19:02{*****继承TimerTask类,实现run方法,此处定时需要处理的业务*****}
2011-12-22 10:19:17{*****继承TimerTask类,实现run方法,此处定时需要处理的业务*****}
2011-12-22 10:19:32{*****继承TimerTask类,实现run方法,此处定时需要处理的业务*****}
2011-12-22 10:19:47{*****继承TimerTask类,实现run方法,此处定时需要处理的业务*****}
2011-12-22 10:20:02{*****继承TimerTask类,实现run方法,此处定时需要处理的业务*****}
..........
..........