posts - 241,  comments - 116,  trackbacks - 0
          關于Quartz,我不想說太多,原因在于:Quartz官方提供的15個例子太經典啦!!!還在網上找神馬亂七八糟的例子啊,這15個例子看看自己跑跑試試,學起來又快又輕松!!!本文附件附送這些例子啊!!!Timer時序調度框架解析
          為了再降低一下看代碼的門檻,這里提供一些關鍵的概念性的描述,有所了解或者不想看文字的朋友請略過。或者看代碼有不懂的地方在來查看也可。
          • 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)  編輯  收藏

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


          網站導航:
           
          人人游戲網 軟件開發網 貨運專家
          主站蜘蛛池模板: 汉阴县| 平邑县| 通城县| 太仆寺旗| 湘潭市| 两当县| 阳高县| 遂昌县| 晋宁县| 海晏县| 桃园市| 盐源县| 保靖县| 达拉特旗| 二手房| 桂平市| 含山县| 乌什县| 得荣县| 灯塔市| 阳江市| 宁安市| 桃园县| 舞阳县| 留坝县| 柳河县| 青田县| 赤壁市| 且末县| 来安县| 石城县| 喜德县| 富平县| 轮台县| 巴青县| 上林县| 扬中市| 溧阳市| 浏阳市| 抚顺市| 奎屯市|