<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成人精品一区二区三区| 国产v片免费播放| 一级毛片免费在线| 91麻豆国产自产在线观看亚洲| 国产一级高青免费| 亚洲大尺度无码专区尤物| 久久久久久AV无码免费网站| 78成人精品电影在线播放日韩精品电影一区亚洲 | 亚洲AV电影天堂男人的天堂| 免费国产一级特黄久久| 一级毛片免费播放男男| 无码乱人伦一区二区亚洲一| 中文字幕免费在线看线人| 亚洲午夜无码久久| 亚洲av无码专区在线观看素人| 青青操免费在线视频| 亚洲理论片在线观看| 看全色黄大色大片免费久久| 久久精品成人免费国产片小草| 亚洲综合区图片小说区| 日韩中文字幕在线免费观看| jizz免费在线观看| 亚洲成a人片77777群色| 国产国产人免费人成免费视频| 91免费国产视频| 亚洲人成网国产最新在线| 久久精品国产精品亚洲人人| 永久在线免费观看| 美女黄网站人色视频免费| 久久亚洲精品中文字幕无码| A级毛片内射免费视频| 三根一起会坏掉的好痛免费三级全黄的视频在线观看 | 国产免费内射又粗又爽密桃视频| 亚洲酒色1314狠狠做| 国产午夜无码视频免费网站|