<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    小菜毛毛技術分享

    與大家共同成長

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      164 Posts :: 141 Stories :: 94 Comments :: 0 Trackbacks
    http://callan.javaeye.com/blog/123374
    關鍵字: java, 定時器, timertask

    在web中,定時器的啟動一般隨web server的啟動而啟動,一般有兩種方法.

    方法一:在web.xml里配置一個Servlet,并設置其隨web server的啟動而啟動。然后在該Servlet的init()方法里啟動定時器,在destory()方法里銷毀定時器。
    方法二:在web.xml里配置一個Listener,然后在該Listener的初始化方法里啟動定時器,在其銷毀的方法朝左銷毀定時器。

    在servlet中啟動定時器
    java 代碼
    1. import java.io.IOException;   
    2. import java.util.Timer;   
    3. import javax.servlet.RequestDispatcher;   
    4. import javax.servlet.ServletContext;   
    5. import javax.servlet.ServletException;   
    6. import javax.servlet.http.HttpServlet;   
    7. import javax.servlet.http.HttpServletRequest;   
    8. import javax.servlet.http.HttpServletResponse;   
    9.   
    10. import org.apache.commons.lang.StringUtils;   
    11.   
    12. public class ConvergeDataServlet extends HttpServlet {   
    13.   
    14.     private static final long serialVersionUID = 1L;   
    15.   
    16.     private Timer timer1 = null;   
    17.        
    18.     private Task task1;   
    19.        
    20.     /**  
    21.      * Constructor of the object.  
    22.      */  
    23.     public ConvergeDataServlet() {   
    24.         super();   
    25.     }   
    26.   
    27.     /**  
    28.      * Destruction of the servlet. 
       
    29.      */  
    30.     public void destroy() {   
    31.         super.destroy();    
    32.         if(timer1!=null){   
    33.             timer1.cancel();   
    34.         }   
    35.     }   
    36.   
    37.        
    38.     public void doGet(HttpServletRequest request, HttpServletResponse response)   
    39.             throws ServletException, IOException {   
    40.            
    41.     }   
    42.   
    43.        
    44.     public void doPost(HttpServletRequest request, HttpServletResponse response)   
    45.             throws ServletException, IOException {   
    46.         doGet(request, response);          
    47.     }   
    48.   
    49.     // init方法啟動定時器   
    50.     public void init() throws ServletException {   
    51.            
    52.         ServletContext context = getServletContext();   
    53.            
    54.         // (true為用定時間刷新緩存)   
    55.         String startTask = getInitParameter("startTask");   
    56.                    
    57.         // 定時刷新時間(分鐘)   
    58.         Long delay = Long.parseLong(getInitParameter("delay"));   
    59.            
    60.         // 啟動定時器   
    61.         if(startTask.equals("true")){   
    62.             timer1 = new Timer(true);   
    63.             task1 = new Task(context);   
    64.             timer1.schedule(task1, delay * 60 * 1000, delay * 60 * 1000);   
    65.         }   
    66.     }   
    67. }   

     定時執行操作

    java 代碼
    1.   
    2. /**  
    3.  *   
    4.  * @author callan  
    5.  */  
    6. import java.util.TimerTask;   
    7.   
    8. import javax.servlet.ServletContext;   
    9.   
    10. public class Task extends TimerTask{   
    11.   
    12.     private ServletContext context;   
    13.        
    14.     private static boolean isRunning = true;   
    15.        
    16.     public Task(ServletContext context){   
    17.         this.context = context;   
    18.     }   
    19.        
    20.            
    21.     @Override  
    22.     public void run() {   
    23.         if(isRunning){   
    24.              
    25.         }   
    26.     }   
    27.   
    28. }   

    在web.xml配置這個servlet為服務啟動時就調用servlet

    <servlet></servlet>
      < servlet >
         < servlet-name >taskservlet< / servlet-name >
        < servlet-class >com.task< /servlet-class >
        < init-param >
         < param-name >startTask< /param-name >
         < param-value >true< /param-value >
        < /init-param >
        < init-param >
         < param-name >intervalTime< /param-name >
         < param-value >1< /param-value >
        < /init-param >
        < load-on-startup >300< /load-on-startup >
      < /servlet >

    <servlet></servlet>

    posted on 2010-09-30 13:53 小菜毛毛 閱讀(563) 評論(0)  編輯  收藏 所屬分類: 面試java定時器
    主站蜘蛛池模板: 亚洲Av永久无码精品三区在线| 国产一级特黄高清免费大片| 亚洲av无码一区二区三区乱子伦| 色老头综合免费视频| 日韩视频免费一区二区三区| 亚洲AV成人影视在线观看| 亚洲天堂免费在线| 亚洲综合色丁香婷婷六月图片| 欧洲精品成人免费视频在线观看| 亚洲一区二区三区不卡在线播放| 在线观看av永久免费| 最新国产精品亚洲| 国产一区二区三区在线免费| 老司机午夜精品视频在线观看免费| 成人永久免费福利视频网站| 免费无毒a网站在线观看| 久久精品亚洲乱码伦伦中文| 中文字幕不卡高清免费| 五月天网站亚洲小说| 国产啪精品视频网免费| 亚洲精品久久无码| 亚洲精品无码专区2| 免费在线中文日本| 国产成人精品日本亚洲11| 国产无遮挡色视频免费视频| 国产成人精品免费大全| 亚洲人成在线观看| 免费涩涩在线视频网| 一区二区三区免费高清视频| 久久亚洲AV午夜福利精品一区 | 亚洲午夜精品在线| 麻豆成人精品国产免费| 久久99精品免费一区二区| 亚洲伊人tv综合网色| 美女黄网站人色视频免费国产| a一级爱做片免费| 91亚洲国产成人久久精品网址| 国产高清在线免费| 暖暖免费在线中文日本| 亚洲老熟女五十路老熟女bbw| 久久久青草青青国产亚洲免观|