JAVA定时器实现的两种方式:Timer和Quartz ,由于目前在我们实际开发中常用的是Spring框架,Spring框架对这两种定时器实现的都提供了支持,今天先介绍Timer在Spring框架的实现方式。
首先,还是创建定时任务类,需要继承java.util.TimerTask类实现run方法
import java.util.TimerTask;
public class openVirtualTimeTask extends TimerTask{
@Override
public void run() {
//TODO
}
}
第二步,注册定时任务类,在Spring配置文件中添加下列配置:
<!--注册定时执行任务实体-->
<bean id="openVirtualTimeTask" class="com.stone.product.virtual.openVirtualTimeTask"/>
第三步,配置任务计划,在Spring配置文件中添加下列配置:
<!--注册定时器信息-->
<bean id="taskInfo" class="org.springframework.scheduling.timer.ScheduledTimerTask">
<!--第一次执行任务前需要等待的时间,这里设置为3秒-->
<property name="delay">
<value>3000</value>
</property>
<!--设置任务的执行周期 这里设置为4秒-->
<property name="period">
<value>4000</value>
</property>
<!--设置具体执行的任务 这里设置为openVirtualTimeTask-->
<property name="timerTask">
<ref local="openVirtualTimeTask"/>
</property>
</bean>
最后,配置定时器任务的调度器,配置如下:
<bean id="timerFactory" class="org.springframework.scheduling.timer.TimerFactoryBean">
<!--注册定时器列表-->
<property name="scheduledTimerTasks">
<list>
<ref local="taskInfo"/>
........
</list>
</property>
</bean>
通过以上步骤后,Timer就在Spring中配置成功,你只要关心在run()实现你的业务逻辑即可;当然,别忘记在Web.xml中加载你的Spring配置文件。