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()

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐