(职业经理培训)定时执行.pdf

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(职业经理培训)定时执 行 定时执行任务的三种方法: 1).Timer. 2)ServletContextListener. 3)..ScheduledTimerTask 1).Timer 这个方法应该是最常用的,不过这个方法需要手工启动你的任务: Timertimer=newTimer(); (newListByDayTimerTask(),10000,0); 这里的 ListByDayTimerTask 类必须 extendsTimerTask 里面的 run() 方法。 2)ServletContextListener 这个方法在 web 容器环境比较方便,这样,在 webserver 启动后就可 以 自动运行该任务,不需要手工操作。 将 ListByDayListenerimplementsServletContextListener 接口,在 contextInitialized 方 法 中 加 入 启 动 Timer 的 代 码 , 在 contextDestroyed 方法中加入 cancel 该 Timer 的代码;然后在中,加入 listener: <listener> <listener-class>..MyTimerTask</listener-clas> </listener> 3)..ScheduledTimerTask 如 果 你 用 spring , 那 么 你 不 需 要 写 Timer 类 了 , 在 schedulingContext-timer .xml 中加入下面的内容就可以了: <?xmlversion="1.0"encoding="UTF-8"?> <!DOCTYPEbeansPUBLIC"-//DTDBEAN//EN""spring-"> <beans> <beanid="timer"class="..TimerFactoryBean"> <propertyname="scheduledTimerTasks"> <list> <reflocal="MyTimeTask1"/> </list> </property> </bean> <beanid="MyTimeTask"class="."/> <beanid="MyTimeTask1"class="..ScheduledTimerTask"> <propertyname="timerTask"> <refbean="MyTimeTask"/> </property> <propertyname="delay"> <value>10000</value> </property> <propertyname="period"> <value>0</value> </property> </bean> </beans> 下面给出方法 2 的一个例子供大家参考: Java 代码: import.Timer; import.ServletContextEvent; import.ServletContextListener; publicclassMyTimerTaskimplementsServletContextListener{ privateTimertimer=null; @Override publicvoidcontextDestroyed(ServletContextEventevent){ //TODOAuto-generatedmethodstub (); ().log("定时器销毁"); .println("停止备份程序……"); } @Override publicvoidcontextInitialized(ServletContextEventevent){ //在这里初始化监听器,在 tomcat 启动的时候监听器启动,可以在 这里实现定时器功能 timer=newTimer(true); ().log("定时器已启动");//添加日志,可在 tomcat 日志中查看到 (newexportHistoryBean(()),0,5*1000);//调用exportHistoryBean , 0 表示任务无延迟,5*1000 表示每隔 5 秒执行任务,60*60*1000 表示 一个小时; } } import.Calendar; import.TimerTask; import.ServletContext; publicclassexportHistoryBeanextendsTimerT

文档评论(0)

138****3956 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档