gembin

          OSGi, Eclipse Equinox, ECF, Virgo, Gemini, Apache Felix, Karaf, Aires, Camel, Eclipse RCP

          HBase, Hadoop, ZooKeeper, Cassandra

          Flex4, AS3, Swiz framework, GraniteDS, BlazeDS etc.

          There is nothing that software can't fix. Unfortunately, there is also nothing that software can't completely fuck up. That gap is called talent.

          About Me

           

          JAVA定時(shí)執(zhí)行任務(wù)的三種方法

          1) java.util.Timer
          這個(gè)方法應(yīng)該是最常用的,不過(guò)這個(gè)方法需要手工啟動(dòng)你的任務(wù):

          Timer timer=new Timer();
          timer.schedule(
          new ListByDayTimerTask(),10000,86400000);

          這里的ListByDayTimerTask類必須extends TimerTask里面的run()方法。

          2) ServletContextListener
          這個(gè)方法在web容器環(huán)境比較方便,這樣,在web server啟動(dòng)后就可以
          自動(dòng)運(yùn)行該任務(wù),不需要手工操作。
          將ListByDayListener implements ServletContextListener接口,在
          contextInitialized方法中加入啟動(dòng)Timer的代碼,在contextDestroyed
          方法中加入cancel該Timer的代碼;然后在web.xml中,加入listener:

          < listener>
          < listener-class>com.qq.customer.ListByDayListener< /listener-class>
          < /listener>

          3)org.springframework.scheduling.timer.ScheduledTimerTask
          如果你用spring,那么你不需要寫Timer類了,在schedulingContext-timer
          .xml中加入下面的內(nèi)容就可以了:

          < ?xml version="1.0" encoding="UTF-8"?>
          < !DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

          < beans>
          < bean id="timer" class="org.springframework.scheduling.timer.TimerFactoryBean">
          < property name="scheduledTimerTasks">
          < list>
          < ref local="MyTimeTask1"/>
          < /list>
          < /property>
          < /bean>

          < bean id="MyTimeTask" class="com.qq.timer.ListByDayTimerTask"/>

          < bean id="MyTimeTask1" class="org.springframework.scheduling.timer.ScheduledTimerTask">
          < property name="timerTask">
          < ref bean="MyTimeTask"/>
          < /property>
          < property name="delay">
          < value>10000< /value>
          < /property>
          < property name="period">
          < value>86400000< /value>
          < /property>
          < /bean>
          < /beans>


          posted on 2008-03-11 13:14 gembin 閱讀(14131) 評(píng)論(1)  編輯  收藏 所屬分類: JavaSE

          評(píng)論

          # re: JAVA定時(shí)執(zhí)行任務(wù)的三種方法 2016-05-25 01:11 89

          uty  回復(fù)  更多評(píng)論   

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(6)

          隨筆分類(440)

          隨筆檔案(378)

          文章檔案(6)

          新聞檔案(1)

          相冊(cè)

          收藏夾(9)

          Adobe

          Android

          AS3

          Blog-Links

          Build

          Design Pattern

          Eclipse

          Favorite Links

          Flickr

          Game Dev

          HBase

          Identity Management

          IT resources

          JEE

          Language

          OpenID

          OSGi

          SOA

          Version Control

          最新隨筆

          搜索

          積分與排名

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          free counters
          主站蜘蛛池模板: 介休市| 肇东市| 噶尔县| 逊克县| 沂源县| 岫岩| 老河口市| 富锦市| 耒阳市| 鸡东县| 焦作市| 平安县| 沙湾县| 南开区| 井陉县| 宿迁市| 禄丰县| 阳山县| 莱阳市| 慈溪市| 文安县| 中西区| 翁源县| 宜昌市| 宁晋县| 临洮县| 浦县| 克什克腾旗| 腾冲县| 阜阳市| 平谷区| 中方县| 屏东市| 瑞金市| 水城县| 屏边| 宣武区| 舞阳县| 西安市| 苏尼特右旗| 普格县|