服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

用spring framework实现定时器功能

  采用web自动加载timermanager来管理timer链,在class更新服务器热加载后会发生异常。这要求对timermanager进行一些特殊的处理才能保证timer链的正确性。

  使用spring framework中提供的timertask自动加载功能可以非常容易的实现定时器链的管理。同时,采用spring framework的这一功能可以非常容易的对定时器进行添加、删除。

  1.在web.xml中申明

<context-param>
<param-name>contextconfiglocation</param-name>
<param-value>/web-inf/schedulingcontext-timer.xml</param-value>
</context-param>
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>org.springframework.web.context.contextloaderservlet</servlet-class>
<load-on-startup>3</load-on-startup>
</servlet>

  2.在schedulingcontext-timer.xml描述用户的定时器

<bean id="timer" class="org.springframework.scheduling.timer.timerfactorybean">
<property name="scheduledtimertasks">
<list>
<ref local="jorwangscheduledtimertask1"/>
</list>
</property>
</bean>

<bean id="jortimetask1" class="workflow.common.mytimer">
</bean>
<bean id="jorwangscheduledtimertask1" class="org.springframework.scheduling.timer.scheduledtimertask">
<property name="timertask"><ref bean="jortimetask1"/></property>
<property name="delay"><value>10000</value></property>
<property name="period"><value>86400000</value></property>
</bean>

  3.编写workflow.common.mytimer定时器

  这样就轻松完成了定时器的功能。如果需要修改、增加、删除定时器,只需要对2、3步的内容进行调整就可以实现。

扫描关注微信公众号