spring的配置如下:scheduler.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="timerTask" class="cn.yw.test.MyTimerTask"/>
<bean id="scheduleTask" class="org.springframework.scheduling.timer.ScheduledTimerTask">
<property name="timerTask">
<ref bean="timerTask"/>
</property>
<!-- 指定开始计时之前的等待时间 -->
<property name="period">
<value>5000</value>
</property>
<!-- 指定第一次调用任务的时间 -->
<property name="delay">
<value>3000</value>
</property>
</bean>
<bean class="org.springframework.scheduling.timer.TimerFactoryBean">
<property name="scheduledTimerTasks">
<list>
<ref bean="scheduleTask"/>
</list>
</property>
</bean>
</beans>
Timer定时器的代码如下:
package cn.yw.test;
public class MyTimerTask extends java.util.TimerTask{
private java.text.SimpleDateFormat format=new java.text.SimpleDateFormat("yyyy-mm-dd HH:mm:ss");
@Override
public void run() {
System.out.println(format.format(new java.util.Date()));
}
}
spring中定时器开启代码如下,运行下面的代码,没隔5秒将在控制台打印当前时间
package cn.yw.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
public class TestTimerTask {
public static void main(String args[]){
ApplicationContext context=new FileSystemXmlApplicationContext("WebRoot/WEB-INF/scheduler.xml");
}
}