EJB,J2EE失樂園

          輕量級(jí)j2ee開發(fā)設(shè)計(jì)開發(fā)探討

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            3 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks
          在大多數(shù)項(xiàng)目中,在特定的時(shí)間或頻率下你需要完成一些特定的任務(wù)。在本文中我們將演示如何用標(biāo)準(zhǔn)的Java Timer API來實(shí)現(xiàn)。

          大多商業(yè)應(yīng)用都會(huì)用報(bào)表和統(tǒng)計(jì),很難想象沒有這些幫助我們分析未來趨勢(shì)的數(shù)據(jù),我們還要這系統(tǒng)干什么。問題是如此多的數(shù)據(jù)我們?cè)撊绾斡|發(fā),如果處理對(duì)系統(tǒng)性能影響不大。比較好的方式是避開應(yīng)用高峰,讓服務(wù)器在閑暇時(shí)完成這些事。

          下面是我的程序:

          package net.nighttale.scheduling;
           
          /**
           * @author kevin zhou
           *
           * 在Java中實(shí)現(xiàn)Job Scheduling
           * 創(chuàng)建日期 2004-7-13
           */
          import java.util.TimerTask;
          import java.util.Calendar;
          import java.util.Date;
          import java.util.Timer;
           
          public class ReportGenerator extends TimerTask{
           
              /* (非 Javadoc)
               * @see java.util.TimerTask#run()
               */
              public void run() {
                  System.out.println("Generating report");
           
                 
              }
           
          }
          class MainApplication {
           
            public static void main(String[] args) {
              Timer timer=new Timer();
              Calendar date = Calendar.getInstance();
              date.set(
                Calendar.DAY_OF_WEEK,
                Calendar.SUNDAY
              );
              date.set(Calendar.HOUR, 0);
              date.set(Calendar.MINUTE, 0);
              date.set(Calendar.SECOND, 0);
              date.set(Calendar.MILLISECOND, 0);
              // Schedule to run every Sunday in midnight
              timer.schedule(
                new ReportGenerator(),
                date.getTime(),
                1000 * 60 * 60 * 24 * 7
              );
            }
          }
          我先簡(jiǎn)單解釋一下,在我們的例子中ReportGenerator繼承java.util.TimerTask,它又繼承了java.lang.Runnable,我們需要覆蓋run()方法。
          調(diào)用時(shí)我們用schedule()方法讓它每周日0點(diǎn)0分執(zhí)行,避開服務(wù)器高峰,實(shí)現(xiàn)Job Scheduling的目的。
          posted on 2005-12-26 17:18 EJB,J2EE失樂園 閱讀(448) 評(píng)論(0)  編輯  收藏 所屬分類: 原創(chuàng)文章

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 三原县| 察哈| 同江市| 邢台市| 大厂| 清丰县| 寻甸| 镇平县| 黔南| 长葛市| 布拖县| 城步| 成安县| 遵义县| 格尔木市| 宜丰县| 吴忠市| 基隆市| 衡山县| 古蔺县| 徐水县| 霍城县| 金昌市| 新化县| 炎陵县| 平利县| 梅河口市| 汪清县| 云安县| 石狮市| 库伦旗| 福贡县| 四平市| 绥德县| 新营市| 彭水| 鹿邑县| 丰都县| 和田县| 苍南县| 成都市|