<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 閱讀(439) 評論(1)  編輯  收藏

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

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


    網站導航:
     
    主站蜘蛛池模板: 中文在线免费观看| 亚洲熟妇无码久久精品| 精品国产亚洲AV麻豆| 成年美女黄网站18禁免费 | 伊人婷婷综合缴情亚洲五月| 立即播放免费毛片一级| 免费大黄网站在线看| 四虎永久在线精品免费一区二区| 亚洲成A人片在线观看无码3D | 久久久久亚洲AV无码专区网站| 无码 免费 国产在线观看91| 亚洲性在线看高清h片| 在线看片免费人成视频久网下载 | 亚洲国产av一区二区三区丶| 国产黄色免费网站| 亚洲欧洲无码AV不卡在线| 午夜高清免费在线观看| 老司机午夜精品视频在线观看免费| 免费中文字幕不卡视频| 国产免费一区二区三区免费视频| 久久久久久a亚洲欧洲aⅴ| 曰批全过程免费视频网址 | yellow视频免费看| 亚洲爆乳无码一区二区三区| 国产精品久久永久免费| 亚洲aⅴ无码专区在线观看 | 四虎永久免费网站免费观看| 精品熟女少妇aⅴ免费久久| 亚洲AV无码一区东京热| 91嫩草国产在线观看免费| 国产精品亚洲天堂| 亚洲无线观看国产精品| 30岁的女人韩剧免费观看| 亚洲国产精品成人午夜在线观看 | 一级美国片免费看| 亚洲网址在线观看你懂的| 超pen个人视频国产免费观看| 一级毛片免费播放视频| 亚洲婷婷天堂在线综合| 免费国产在线观看不卡| 久久久久久一品道精品免费看|