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

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

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


    網站導航:
     
    主站蜘蛛池模板: 免费看大美女大黄大色| 3344永久在线观看视频免费首页| 成年丰满熟妇午夜免费视频| 久久青青草原亚洲av无码app| a毛看片免费观看视频| 亚洲国产另类久久久精品黑人| 天堂在线免费观看| 亚洲视频在线视频| 精品国产sm捆绑最大网免费站 | 日韩a在线观看免费观看| 亚洲日韩精品无码AV海量| 拨牐拨牐x8免费| 亚洲av色香蕉一区二区三区 | 久久精品国产亚洲AV大全| 日本免费xxxx| 亚洲欧美成人一区二区三区| 日韩成人在线免费视频| 人人爽人人爽人人片A免费 | 免费人成在线观看视频高潮| 日本一道本高清免费| 亚洲国产精华液2020| 免费国产成人高清视频网站| 久久久久久久久久久免费精品| 亚洲AV无码成人专区片在线观看| 久久久久久精品免费看SSS| 爱情岛论坛亚洲品质自拍视频网站| 亚洲无码高清在线观看| 美丽的姑娘免费观看在线播放 | 女人18毛片水最多免费观看| 日韩成人精品日本亚洲| 精品久久久久久亚洲| 一个人免费观看在线视频www| 亚洲啪AV永久无码精品放毛片 | 亚洲国产精品无码久久久不卡| 免费播放一区二区三区| 亚洲狠狠色丁香婷婷综合| 亚洲综合另类小说色区| 在线观看视频免费完整版| 久久国产乱子伦精品免费午夜| 亚洲国产日韩在线| 国产a v无码专区亚洲av |