luojinbai 2012-11-02
Spring定时器TimerTask用法:
在tomcat服务启动,spring定时器容器加载时会执行定时器里的任务,可设置时间间隔和延迟执行时间,具体做法如下:
定时器java代码:
package com.coalmine.desktop;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimerTask;
public class Task extends TimerTask {
@Override
//定时器入口,run()里面是你的任务作业
public void run() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
System.out.println(sdf.format(date) + " 执行TimerTask定时器===============");
}
}
applicationContext.xml配置如下:
<!-- spring定时任务配置 -->
<bean id="deskTask" class="com.coalmine.desktop.Task"></bean>
<bean id="scheduledTask"
class="org.springframework.scheduling.timer.ScheduledTimerTask">
<property name="timerTask">
<ref bean="deskTask" />
</property>
<!--任务执行周期 5s (此处单位是毫秒)-->
<property name="period">
<value>5000</value>
</property>
<!--延时10s 执行任务 -->
<property name="delay">
<value>10000</value>
</property>
</bean>
<!--启动定时器 -->
<bean id="timerBean"
class="org.springframework.scheduling.timer.TimerFactoryBean">
<property name="scheduledTimerTasks">
<list>
<ref bean="scheduledTask" />
</list>
</property>
</bean>
OK,就这么简单,当启动服务后加载完定时器,延迟10秒后,每隔5秒执行一次run()