posts - 241,  comments - 116,  trackbacks - 0
          關于Quartz,我不想說太多,原因在于:Quartz官方提供的15個例子太經典啦!!!還在網上找神馬亂七八糟的例子啊,這15個例子看看自己跑跑試試,學起來又快又輕松?。。”疚母郊剿瓦@些例子?。。?!Timer時序調度框架解析
          為了再降低一下看代碼的門檻,這里提供一些關鍵的概念性的描述,有所了解或者不想看文字的朋友請略過?;蛘呖创a有不懂的地方在來查看也可。
          • Job:接口,只有一個方法void execute(JobExecutionContext context),開發者實現該接口定義Job所運行的任務,JobExecutionContext類提供了調度上下文的各種信息。Job運行時的信息 保存在JobDataMap實例中。
          • JobDetail:Quartz在每次執行Job時,都重新創建一個Job實例,所以它不直接接 受一個Job的實例,相反它接收一個Job實現類,以便運行時通過newInstance()的反射機制實例化Job。因此需要通過一個類來描述Job的 實現類及其它相關的靜態信息,如Job名字、描述、關聯監聽器等信息,JobDetail承擔了這一角色。通過該類的構造函數可以更具體地了解它的功 用:JobDetail(java.lang.String name, java.lang.String group, java.lang.Class jobClass),該構造函數要求指定Job的實現類,以及任務在Scheduler中的組名和Job名稱
          • Trigger:是一個類,描述觸發Job執行的時間觸發規則。主要有SimpleTrigger和CronTrigger這兩個子類。當僅需觸發一次或者以固定時間間隔周期執行,SimpleTrigger是最適合的選擇;而CronTrigger則可以通過Cron表達式定義出各種復雜時間規則的調度方案:如每早晨9:00執行,周一、周三、周五下午5:00執行等
          • Calendar:org.quartz.Calendar和java.util.Calendar不同,它是一些日歷特定時間點的集合。一個Trigger可以和多個Calendar關聯,以便排除或包含某些時間點
          • Scheduler:Trigger和JobDetail可以注冊到Scheduler中,兩者在 Scheduler中擁有各自的組及名稱,組及名稱是Scheduler查找定位容器中某一對象的依據。Scheduler可以將Trigger綁定到某 一JobDetail中,這樣當Trigger觸發時,對應的Job就被執行。一個Job可以對應多個Trigger,但一個Trigger只能對應一個 Job。可以通過SchedulerFactory創建一個Scheduler實例。Scheduler擁有一個SchedulerContext,它類 似于ServletContext,保存著Scheduler上下文信息,Job和Trigger都可以訪問SchedulerContext內的信息。
          • ThreadPool:Scheduler使用一個線程池作為任務運行的基礎設施,任務通過共享線程池中的線程提高運行效率。
          posted on 2011-07-29 10:03 墻頭草 閱讀(573) 評論(0)  編輯  收藏

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


          網站導航:
           
          人人游戲網 軟件開發網 貨運專家
          主站蜘蛛池模板: 林州市| 泗洪县| 义乌市| 星子县| 佛坪县| 寻乌县| 越西县| 喀喇| 山阳县| 黄骅市| 黑山县| 通辽市| 连山| 吴旗县| 麻城市| 嘉善县| 长阳| 揭东县| 清水河县| 巴彦淖尔市| 青铜峡市| 湖南省| 黔西县| 太仓市| 惠东县| 察隅县| 清徐县| 包头市| 忻州市| 桦川县| 神木县| 酒泉市| 南京市| 福安市| 兴宁市| 漠河县| 梅河口市| 文安县| 成都市| 铜鼓县| 奉贤区|