首页 > 学院 > 开发设计 > 正文

用Springframework实现定时器功能

2019-11-18 13:49:44
字体:
来源:转载
供稿:网友

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表