<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 小菜毛毛 閱讀(561) 評論(0)  編輯  收藏 所屬分類: 面試java定時器
    主站蜘蛛池模板: 中文字幕亚洲图片| 免费国产a国产片高清| 亚洲av无码国产精品色午夜字幕 | 免费人成无码大片在线观看| 天堂亚洲国产中文在线| 无码人妻一区二区三区免费手机| 亚洲一区二区三区无码国产| 国产成人免费网站| 国产AV旡码专区亚洲AV苍井空| 成年大片免费视频| 色偷偷尼玛图亚洲综合| 亚洲高清成人一区二区三区| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 亚洲日韩中文无码久久| a级毛片免费全部播放| 久久久综合亚洲色一区二区三区| 少妇太爽了在线观看免费视频| 亚洲黄色在线网站| 成年人免费观看视频网站| 美女露隐私全部免费直播| 亚洲色大成网站WWW久久九九| 无码精品一区二区三区免费视频| 亚洲人成综合在线播放| 国产成人精品123区免费视频| jizz中国免费| 亚洲精品网站在线观看你懂的| 最近2019中文免费字幕| 色www免费视频| 亚洲激情视频在线观看| 在线a级毛片免费视频| 美女视频黄a视频全免费网站一区| 伊人婷婷综合缴情亚洲五月| 精品免费人成视频app| 综合偷自拍亚洲乱中文字幕| 亚洲熟妇av一区二区三区漫画| h视频在线免费看| 免费看黄福利app导航看一下黄色录像 | 亚洲精品高清一二区久久| 免费不卡在线观看AV| 国产精品亚洲一区二区三区 | 亚洲综合亚洲综合网成人|