無線&移動互聯網技術研發

          換位思考·····
          posts - 19, comments - 53, trackbacks - 0, articles - 283
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            在web方式下,如果我們要實現定期執行某些任務的話,除了用quartz等第三方開源工具外,我們可以使用Timer和TimeTask來完成指定的定時任務。專業的開源工具可參考Quartz:http://www.opensymphony.com/quartz/

          第一步:創建一個任務具體操作類,實現ServletContextListener 接口 MyListener.java

          package yixun.wap.tools;

          import java.util.Timer;
          import javax.servlet.ServletContextEvent;
          import javax.servlet.ServletContextListener;
          public class MyListener implements ServletContextListener {
              
          private Timer timer = null;
              
          public void contextInitialized(ServletContextEvent event) {
                  timer 
          = new Timer(true);//true 指定為后臺線程
                  
          // 設置任務計劃,啟動和間隔時間
                  timer.schedule(new MyTask(), 086400000);
          //可寫多個定時任務
              }


              
          public void contextDestroyed(ServletContextEvent event) {
                  timer.cancel();
              }


          }
          還有好幾種任務調度
          timer.schedule(task, time);   
          // time為Date類型:在指定時間執行一次。   
           
          timer.schedule(task, firstTime, period);   
          // firstTime為Date類型,period為long   
          // 從firstTime時刻開始,每隔period毫秒執行一次。   
           
          timer.schedule(task, delay)   
          // delay 為long類型:從現在起過delay毫秒執行一次   
           
          timer.schedule(task, delay, period)   
          // delay為long,period為long:從現在起過delay毫秒以后,每隔period   
          // 毫秒執行一次。


          第二步:創建一個時間任務類 MyTask.java

          package yixun.wap.tools;

          import java.util.TimerTask;

          public class MyTask extends TimerTask {

            
          public void run() {
              
          // System.out.println("call at " + (new Date()));
              
          // TODO 此處添加具體任務代碼
            }


          }

          第三步:在web.xml中添加一個監聽器

          <listener>

              
          <listener-class>
                  yixun.wap.tools.MyListener
              
          </listener-class>
              
          <description>要定期執行的任務</description>
          </listener> 


          通過配置監聽器,那么在web服務器啟動的時候,任務也被啟動,并且會周期性的執行
          參考文章:http://www.aygfsteel.com/fastunit/archive/2008/02/15/180116.html

          主站蜘蛛池模板: 巢湖市| 南宫市| 枣庄市| 德州市| 琼海市| 托克逊县| 宁波市| 郸城县| 常山县| 平昌县| 上虞市| 蓬安县| 和平区| 庄浪县| 利川市| 炎陵县| 临洮县| 梅河口市| 定西市| 吉木萨尔县| 汉沽区| 新平| 葵青区| 衡水市| 泽州县| 桦甸市| 铁岭县| 江西省| 砀山县| 黄大仙区| 灵川县| 进贤县| 吉林市| 潼关县| 会理县| 河西区| 汕尾市| 古浪县| 三穗县| 翁牛特旗| 洛扎县|