JDKTimer是一种简单作业调度模式,只提供了基本的调度功能,当然使用起来也很简单,利用Spring可以很方便的实现一些简单的功能,如每隔一段时间进行数据库查询等。
使用JDKTimer,首先你需要实现java.util.TimerTask接口,实质是就是实现线程的Runnable接口。
public class XXTask extends TimerTask { /** * 在线程的run方法中执行你需要执行的作业 */ public void run() { //do what you want to do }
}
然后再spring的配置文件里配置一下就可以,配置如下:
首先配置你的作业实现
<bean id="xxTask" class="com.task.XXTask"> </bean>
然后将作业实现注入到Spring的ScheduledTimerTask,并设置作业调度的间隔时间(单位为毫秒),如果需要延迟执行,则设置延迟时间(单位为毫秒)
<bean id="xxScheduledTimerTask" class="org.springframework.scheduling.timer.ScheduledTimerTask">
<property name="timerTask" ref="xxTask" /> <property name="period" value="300000" /> <property name="delay" value="0" /> </bean>
最后,配置xxScheduledTimerTask注入到Spring的调度管理器中,由TimerFactoryBean去执行作业的调度
<bean id="timerFactoryBean" class="org.springframework.scheduling.timer.TimerFactoryBean"> <property name="scheduledTimerTasks"> <list> <ref bean="xxScheduledTimerTask" /> </list> </property> </bean>