Java學(xué)習(xí)

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

           

          Quartz.net官方開發(fā)指南 第五課: SimpleTrigger

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

          通過這樣的描述,你可能很驚奇地發(fā)現(xiàn)SimpleTrigger包括這些屬性:開始時(shí)間,結(jié)束時(shí)間,重復(fù)次數(shù),重復(fù)間隔。所有這屬性都是你期望它所應(yīng)具備的,只有end-time屬性有一些條目與之關(guān)聯(lián)。

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

          Quartz.TriggerUtils類對(duì)處理這樣的循環(huán)也提供了很多支持。

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

          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的未觸發(fā)指令

          未觸發(fā)發(fā)生時(shí),SimpleTrigger有幾個(gè)指令可以用來通知Quartz進(jìn)行相關(guān)處理。(未觸發(fā)在上節(jié)課中介紹過了)。這些指令以常量形式定義在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

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

          自由、創(chuàng)新、研究、探索……

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


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


          網(wǎng)站導(dǎo)航:
           

          導(dǎo)航

          統(tǒng)計(jì)

          公告

          本blog已經(jīng)搬到新家了, 新家:www.javaly.cn
           http://www.javaly.cn

          常用鏈接

          留言簿(6)

          隨筆檔案

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 武邑县| 巴青县| 浦江县| 邹平县| 南陵县| 安平县| 县级市| 宁河县| 信宜市| 德江县| 正镶白旗| 社旗县| 新野县| 舞阳县| 临澧县| 新蔡县| 洞头县| 阜新市| 秀山| 綦江县| 安远县| 萝北县| 岚皋县| 丹巴县| 昌乐县| 太保市| 绥阳县| 明光市| 中超| 惠安县| 余庆县| 樟树市| 牟定县| 澳门| 土默特左旗| 三门县| 克拉玛依市| 保靖县| 汶川县| 定西市| 印江|