服务热线:13616026886

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

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

用springframework实现定时器功能


  采用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步的内容进行调整就可以实现。

扫描关注微信公众号