您的位置:首页 > 编程语言 > Java开发

spring中集成TimerTask执行定时任务

2013-07-17 23:12 465 查看
spring集成了定时器,TimerTask。由ScheduledTimerTask和TimerFactoryBean类组成的。ScheduledTimerTask类是对TimerTask的包装器实现,我们自定义触发器。TimerFactoryBean,使spring配置创建触发器。 "org.springframework.scheduling.timer.ScheduledTimerTask"和“org.springframework.scheduling.timer.TimerFactoryBean”。

1、自定义Timer触发器:自定义一个类,继承TimerTask,覆写run方法即可。

public void MyTimer extends TimerTask(

@Override

public void run(){

System.out.println("我是spring集成的定时器!");

}

}

2、配置spring配置,3步骤:

<!-- 创建一个自定义timer的bean -->

<bean id="timer" class="com.hh.test.MyTimer"></bean>

<!-- 定义触发器信息-->

<bean id="scheduleTask" class="org.springframework.scheduling.timer.ScheduledTimerTask">

<!--timerTask属性:指定触发器信息-->

<property name="timerTask" ref="timer"></property>

<--delay属性:指定启动延时时间,0表示启动的时候就执行定时任务-->

<property name="delay" value="0"></property>

<!--period属性,启动后,下一次延时间隔时间:这里是延时5秒-->

<property name="period" value="5000"></property>

</bean>

<!-- 使用TimerFactoryBean类,你可以让Spring使用配置创建触发器,并为一组指定的ScheduledTimerTask bean自动创建Timer实例。 -->

<bean class="org.springframework.scheduling.timer.TimerFactoryBean">

<!--scheduledTimerTasks属性:指定定时任务bean,用list关联多个-->

<property name="scheduledTimerTasks">

<list>

<ref local="scheduleTask" />

<!-- <ref local="scheduleTaskQx" /> -->

</list>

</property>

</bean>

3、spring的定时器,就可以了。我们启动项目,就会自动执行MyTimer自定义定时器中的run方法,输出一句话。之后每5秒执行一次。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: