采用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步的内容进行调整就可以实现。
使用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步的内容进行调整就可以实现。
Labels:
Trackback: http://cwq.iou1314.com/_a145
Trackback: http://cwq.iou1314.com/_a145




















