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定時執行任務的三種方法

          1) java.util.Timer
          這個方法應該是最常用的,不過這個方法需要手工啟動你的任務:

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

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

          2) ServletContextListener
          這個方法在web容器環境比較方便,這樣,在web server啟動后就可以
          自動運行該任務,不需要手工操作。
          將ListByDayListener implements ServletContextListener接口,在
          contextInitialized方法中加入啟動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中加入下面的內容就可以了:

          < ?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 閱讀(14063) 評論(1)  編輯  收藏 所屬分類: JavaSE

          評論

          # re: JAVA定時執行任務的三種方法 2016-05-25 01:11 89

          uty  回復  更多評論   

          導航

          統計

          常用鏈接

          留言簿(6)

          隨筆分類(440)

          隨筆檔案(378)

          文章檔案(6)

          新聞檔案(1)

          相冊

          收藏夾(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

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          free counters
          主站蜘蛛池模板: 德昌县| 磴口县| 阳江市| 清丰县| 日土县| 乌鲁木齐市| 靖西县| 林周县| 无为县| 蒲江县| 富裕县| 浮梁县| 清涧县| 镇沅| 皋兰县| 和平县| 醴陵市| 乳源| 祁门县| 泾川县| 鸡泽县| 怀宁县| 双辽市| 安吉县| 祁门县| 桂东县| 咸宁市| 施甸县| 镇平县| 辉县市| 肥城市| 六安市| 双柏县| 两当县| 花垣县| 星座| 尼木县| 齐齐哈尔市| 凯里市| 阿瓦提县| 隆昌县|