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

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

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

    posts - 297,  comments - 1618,  trackbacks - 0
    以前用JDK的Timer實現(xiàn)過定時同步用戶數(shù)據(jù),今日看到Timer相關(guān)的一個例子,實現(xiàn)每隔10分鐘檢測一次用戶是否有新郵件抵達,調(diào)度只在每天早上9:00到下午6:00進行。

    ??? 一. 建立任務(wù):

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

    public?class?MyTask?extends?TimerTask
    {?
    ????
    private?static?final?int?C_SCHEDULE_HOUR?=?15;?
    ????
    private?static?boolean?isRunning?=?false;?

    ????
    public?MyTask()
    ????
    {?
    ????}
    ?

    ????
    public?void?run()
    ????
    {?
    ????????Calendar?cal?
    =?Calendar.getInstance();?
    ????????
    if?(!isRunning)
    ????????
    {?
    ????????????
    //if?(C_SCHEDULE_HOUR?==?cal.get(Calendar.HOUR_OF_DAY))
    ????????????{?
    ????????????????isRunning?
    =?true;?
    ????????????????System.out.println(
    new?java.util.Date()?+?"????????任務(wù)開始");?
    ????????????????
    for?(int?i?=?0?;?i?<?100?;?i++?)
    ????????????????
    {
    ????????????????????System.out.println(
    new?java.util.Date()?+?"??????????任務(wù)完成"?+?i?+?"/"?+?100?);?
    ????????????????}
    ?
    ????????????????isRunning?
    =?false;?
    ????????????????System.out.println(
    new?java.util.Date()?+?"???????所有任務(wù)完成!");?
    ????????????}
    ?
    ????????}
    ?
    ????????
    else?
    ????????
    {?
    ????????????System.out.println(
    new?java.util.Date()?+?"?????????任務(wù)退出!!!");?
    ????????}
    ?
    ????}
    ?
    }

    注意:Timer類并不支持每天每段時間的調(diào)度,因此代碼中使用Calendar類獲取當(dāng)前時間,比較當(dāng)前時間與系統(tǒng)需要調(diào)度的時間段。

    ??? 二.? 調(diào)度任務(wù)

    ??? 本應(yīng)用的計時器隨應(yīng)用的啟動而啟動,一次可以設(shè)計成load-on-startup的servlet,也可以設(shè)計成listener,一般設(shè)計成listener,本例中采用該方法。

    ?? 任務(wù)調(diào)督的listener如下:

    import?java.util.TimerTask;?
    import?java.util.Timer;?
    import?javax.servlet.*;?

    public?class?ScheduleListener?implements?ServletContextListener
    {?
    ????
    private?java.util.Timer?timer?=?null;?
    ????
    ????
    public?void?contextInitialized(ServletContextEvent?sce)
    ????
    {?
    ????????timer?
    =?new?Timer(true);?
    ????????sce.getServletContext().log(
    new?java.util.Date()?+?"計時器已經(jīng)啟動");?
    ????????System.out.println(
    new?java.util.Date()?+?"??????計時器已經(jīng)啟動");
    ????????timer.schedule(
    new?MyTask()?,?0?,?2*60*1000);//每4分鐘執(zhí)行一次?
    ????????sce.getServletContext().log(new?java.util.Date()?+?"計時器執(zhí)行一次!!!!!");?
    ????????System.out.println(
    new?java.util.Date()?+?"??????????計時器執(zhí)行一次!!!!!");
    ????}
    ?
    ????
    ????
    public?void?contextDestroyed(ServletContextEvent?sce)
    ????
    {?
    ????????timer.cancel();?
    ????????sce.getServletContext().log(
    new?java.util.Date()?+?"計時器被銷毀!!!");?
    ????????System.out.println(
    new?java.util.Date()?+?"??????????計時器被銷毀!!!");
    ????}
    ?
    }
    ?

    三.在web.xml加載該listener,配置文件如下:
    <?xml?version="1.0"?encoding="ISO-8859-1"?>
    <!DOCTYPE?web-app
    ????PUBLIC?"-//Sun?Microsystems,?Inc.//DTD?Web?Application?2.3//EN"
    ????"http://java.sun.com/dtd/web-app_2_3.dtd"
    >

    <web-app>
    ????
    <!--?此處配置listener-->
    ????
    <listener>?
    ????????
    <listener-class>ScheduleListener</listener-class>?
    ????
    </listener>?
    </web-app>
    ??? 應(yīng)用啟動后,該listener隨著啟動,負責(zé)加載Timer實例。
    posted on 2007-02-11 23:35 阿蜜果 閱讀(1450) 評論(0)  編輯  收藏 所屬分類: Java
    <2007年2月>
    28293031123
    45678910
    11121314151617
    18192021222324
    25262728123
    45678910

          生活將我們磨圓,是為了讓我們滾得更遠——“圓”來如此。
          我的作品:
          玩轉(zhuǎn)Axure RP  (2015年12月出版)
          

          Power Designer系統(tǒng)分析與建模實戰(zhàn)  (2015年7月出版)
          
         Struts2+Hibernate3+Spring2   (2010年5月出版)
         

    留言簿(263)

    隨筆分類

    隨筆檔案

    文章分類

    相冊

    關(guān)注blog

    積分與排名

    • 積分 - 2294512
    • 排名 - 3

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲av无码不卡久久| 小日子的在线观看免费| 亚洲理论片在线观看| 亚洲狠狠爱综合影院婷婷| 黄色片在线免费观看| 国产午夜精品免费一区二区三区 | 亚洲日韩亚洲另类激情文学| 日韩亚洲欧洲在线com91tv| 国产三级免费电影| 在线看片v免费观看视频777| 最近免费中文字幕MV在线视频3| 日韩大片免费观看视频播放| 亚洲砖码砖专无区2023| 中文字幕亚洲精品资源网| 亚洲午夜久久久影院伊人| 国产特级淫片免费看| 好男人视频在线观看免费看片| 亚洲免费在线视频观看| 无码成A毛片免费| 精品亚洲永久免费精品| 国产国产人免费人成成免视频 | 啦啦啦完整版免费视频在线观看 | 手机在线免费视频| 日本三级2019在线观看免费| 亚欧免费无码aⅴ在线观看| 免费福利电影在线观看| a国产成人免费视频| 丝袜捆绑调教视频免费区| 一级毛片成人免费看a| 性生大片视频免费观看一级| 免费亚洲视频在线观看| 久久精品熟女亚洲av麻豆| 亚洲国产精品精华液| 午夜亚洲WWW湿好爽| 亚洲AV日韩AV无码污污网站| 亚洲精品乱码久久久久蜜桃| 亚洲精品无码永久在线观看男男| 亚洲一区二区三区乱码在线欧洲| 99亚偷拍自图区亚洲| 亚洲第一街区偷拍街拍| 国产成人亚洲综合无|