Java學習

          java,spring,structs,hibernate,jsf,ireport,jfreechart,jasperreport,tomcat,jboss -----本博客已經搬家了,新的地址是 http://www.javaly.cn 如果有對文章有任何疑問或者有任何不懂的地方,歡迎到www.javaly.cn (Java樂園)指出,我會盡力幫助解決。一起進步

           

          Quartz.net官方開發指南 第五課: SimpleTrigger

          如果需要讓任務只在某個時刻執行一次,或者,在某個時刻開始,然后按照某個時間間隔重復執行,簡單地說,如果你想讓觸發器在20078月20日上112354秒執行,然后每個隔10秒鐘重復執行一次,并且這樣重復5次。那么SimpleTrigger 就可以滿足你的要求。

          通過這樣的描述,你可能很驚奇地發現SimpleTrigger包括這些屬性:開始時間,結束時間,重復次數,重復間隔。所有這屬性都是你期望它所應具備的,只有end-time屬性有一些條目與之關聯。

          重復次數可能是0,正數或者一個常量值SimpleTrigger.REPEAT_INDEFINITELY。重復間隔時間屬性可能是0,正的long型,這個數字以毫秒為單位。注意:如果指定的重復間隔時間是0,那么會導致觸發器按照重復數量定義的次數并發觸發(或者接近并發)。

          Quartz.TriggerUtils類對處理這樣的循環也提供了很多支持。

          EndTime(如果這個屬性被設置)屬性會覆蓋重復次數屬性,這對創建一個每隔10秒就觸發一次直到某個時間結束的觸發器非常有用,這就可以不計算開始時間和結束時間之間的重復數量。也可以指定一個結束時間,然后使用REPEAT_INDEFINITELY作為重復數量。(甚至可以指定一個大于結束時間之前實際重復次數的整數作為重復次數)。一句話,EndTime屬性控制權高于重復次數屬性。
             
              SimpleTrigger有幾個不同的構造函數,下面我們來看看這結果構造函數:

          One of SimpleTrigger's Constructors

          public SimpleTrigger(string name, 
                                 string group, 
                                 DateTime startTime,
                                 NullableDateTime endTime endTime, 
                                 int repeatCount, 
                                 long repeatInterval)

          SimpleTrigger Example 1 - Create a trigger that fires exactly once, ten seconds from now

          SimpleTrigger trigger = new SimpleTrigger("myTrigger",
                                                    
          null
          ,
                                                    DateTime.Now.AddSeconds(
          10
          ),
                                                    
          null
          ,
                                                    
          0
          ,
                                                    0L)
          ;

          SimpleTrigger Example 2 - Create a trigger that fires immediately, then repeats every 60 seconds, forever

          SimpleTrigger trigger2 = new SimpleTrigger("myTrigger",
                                          
          null
          ,
                                          DateTime.Now,
                                          
          null
          ,
                                          SimpleTrigger.REPEAT_INDEFINITELY,
                                          
          60 1000);

          SimpleTrigger Example 3 - Create a trigger that fires immediately, then repeats every 10 seconds until 40 seconds from now

          SimpleTrigger trigger = new SimpleTrigger("myTrigger",
                                                    "myGroup",
                                                    DateTime.Now,
                                                    DateTime.Now.AddSeconds(40),
                                                    SimpleTrigger.REPEAT_INDEFINITELY,
                                                    10 * 1000);

              
          SimpleTrigger Misfire Instructions
          ——SimpleTrigger的未觸發指令

          未觸發發生時,SimpleTrigger有幾個指令可以用來通知Quartz進行相關處理。(未觸發在上節課中介紹過了)。這些指令以常量形式定義在SimpleTrigger本身,這些指令如下:

          Misfire Instruction Constants of SimpleTrigger

          MISFIRE_INSTRUCTION_FIRE_NOW

          MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_EXISTING_REPEAT_COUNT

          MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_REMAINING_REPEAT_COUNT

          MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_REMAINING_COUNT

          MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_EXISTING_COUNT

          回顧前面的課程你可以知道,每個觸發器都有一個Trigger.MISFIRE_INSTRUCTION_SMART_POLICY指令可用,并且,這個指令對于每個類型的觸發器都是缺省的。

          自由、創新、研究、探索……

          posted on 2008-10-16 14:12 找個美女做老婆 閱讀(933) 評論(0)  編輯  收藏


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


          網站導航:
           

          導航

          統計

          公告

          本blog已經搬到新家了, 新家:www.javaly.cn
           http://www.javaly.cn

          常用鏈接

          留言簿(6)

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 顺昌县| 莒南县| 利津县| 红安县| 来凤县| 乌兰县| 铁岭市| 盘山县| 方城县| 岑巩县| 安康市| 岗巴县| 武定县| 革吉县| 玛多县| 彭州市| 丹巴县| 东乡县| 蒙城县| 绩溪县| 昌江| 九龙县| 巴彦县| 西乡县| 孟津县| 清河县| 项城市| 焉耆| 富平县| 竹山县| 大竹县| 铁岭市| 蓝山县| 湾仔区| 通河县| 和龙市| 自贡市| 湛江市| 巴中市| 加查县| 拜城县|