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

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

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

    posts - 60,comments - 71,trackbacks - 0

    一個WEB應用程序下的定時任務,覺得寫的比較全,所以轉了一下.
        一個實現ServletContextListener接口的類: StatisticsContextListener.java
    package com.ed.cnc.servletListener;

    import javax.servlet.ServletContextEvent;
    import javax.servlet.ServletContextListener;

    import com.ed.cnc.city.StatisticsTask;

    /**
     * 統計ContextListener
     * 
    @author westd
     *
     
    */

    /**
     * 
    @author westd
     *
     
    */

    public class StatisticsContextListener implements ServletContextListener
    {

        
    private java.util.Timer timer = null;
        
        
        
    /**
         * 這個方法在Web應用服務做好接受請求的時候被調用。
         * 
         * 
    @see javax.servlet.ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent)
         
    */

        
    public void contextInitialized(ServletContextEvent event) 
        
    {
            timer 
    = new java.util.Timer(true);
            event.getServletContext().log(
    "定時器已啟動"); 
            timer.schedule(
    new StatisticsTask(event.getServletContext()), 060*60*1000);//每隔1小時
            event.getServletContext().log("已經添加任務調度表");
        }

        
        
        
    /**
         * 這個方法在Web應用服務被移除,沒有能力再接受請求的時候被調用。
         * 
         * 
    @see javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent)
         
    */

        
    public void contextDestroyed(ServletContextEvent event)
        
    {
            timer.cancel();
            event.getServletContext().log(
    "定時器銷毀");
        }


    }


    一個繼承于TimerTask的一個類:StatisticsTask.java
    package com.ed.cnc.city;

    import java.util.Calendar;
    import java.util.TimerTask;

    import javax.servlet.ServletContext;


    /**
     * 統計任務
     * 
    @author westd
     *
     
    */

    public class StatisticsTask extends TimerTask
    {

        
    private static final int STATISTICS_SCHEDULE_HOUR = 0;
        
    private static boolean isRunning = false;
        
    private ServletContext context = null;

        
    public StatisticsTask(ServletContext context)
        
    {
            
    this.context = context;
        }

        
        @Override
        
    public void run()
        
    {
            Calendar cal 
    = Calendar.getInstance(); 
            
    //System.out.println(isRunning);
            if (!isRunning) 
            

                
    if (STATISTICS_SCHEDULE_HOUR == cal.get(Calendar.HOUR_OF_DAY)) //查看是否為凌晨
                
                    isRunning 
    = true
                    context.log(
    "開始執行指定任務");
                    
                    
    //TODO 添加自定義的詳細任務
                    executeTask();
                    
                    
    //指定任務執行結束
                    isRunning = false;
                    context.log(
    "指定任務執行結束"); 
                }
     
            }
     
            
    else 
            
    {
                context.log(
    "上一次任務執行還未結束");
            }

        
        }


        
    /**
         * 執行任務
         
    */

        
    public void executeTask()
        
    {
            System.out.println(
    "任務1");
            System.out.println(
    "任務2");
        }

    }


    web.xml中添加如下代碼:
    <listener>
            
    <listener-class>com.ed.cnc.servletListener.StatisticsContextListener</listener-class>
    </listener>
    posted on 2008-07-25 15:48 henry1451 閱讀(436) 評論(1)  編輯  收藏

    FeedBack:
    # re: 利用ServletContextListener實現定時任務(l轉)
    2009-01-07 15:06 | 汽車工業濾紙
    uijhy  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲AV成人无码天堂| 亚洲精品国产精品乱码视色| 亚洲无人区视频大全| 免费在线观看理论片| 亚洲欧美国产国产一区二区三区| 37pao成人国产永久免费视频| 久久久久久a亚洲欧洲AV| 国产在线观看免费视频软件 | 国产午夜无码精品免费看 | 无码人妻久久一区二区三区免费丨| 久久亚洲春色中文字幕久久久| 久久成人无码国产免费播放| 婷婷久久久亚洲欧洲日产国码AV| 无码成A毛片免费| 亚洲男女性高爱潮网站| 在线看片无码永久免费视频| 亚洲色大成网站www永久网站| 国产在线a不卡免费视频| 免费又黄又爽又猛大片午夜 | 99精品视频在线视频免费观看| 91亚洲精品视频| 色婷婷7777免费视频在线观看| 亚洲女子高潮不断爆白浆| 免费国产小视频在线观看| 成在人线av无码免费高潮水| 久久亚洲精品无码| 国内精品乱码卡1卡2卡3免费| 亚洲AV无码一区二区三区性色| 亚洲乱亚洲乱少妇无码| 久久久久久AV无码免费网站下载| 久久精品亚洲中文字幕无码麻豆 | 久久免费的精品国产V∧| 男人天堂2018亚洲男人天堂| 全亚洲最新黄色特级网站| 亚洲一级毛片在线播放| 四虎永久成人免费影院域名| 亚洲国产午夜精品理论片在线播放 | 亚洲片一区二区三区| 久久综合给合久久国产免费| 亚洲精品国产精品| 国产亚洲真人做受在线观看|