Quartz是開源組織OpenSymphony的一個作業調度框架,采用多線程架構,可伸縮性強,可集群擴展。
為企業提供成都網站制作、網站建設、外貿網站建設、網站優化、營銷型網站建設、競價托管、品牌運營等營銷獲客服務。創新互聯擁有網絡營銷運營團隊,以豐富的互聯網營銷經驗助力企業精準獲客,真正落地解決中小企業營銷獲客難題,做到“讓獲客更簡單”。自創立至今,成功用技術實力解決了企業“網站建設、網絡品牌塑造、網絡營銷”三大難題,同時降低了營銷成本,提高了有效客戶轉化率,獲得了眾多企業客戶的高度認可!
Quartz提供的常用類:Scheduler, SchedulerFactory, Job, JobDetail, JobBuilder, Trigger, TriggerBuilder, ScheduleBuilder
UML類圖如下:
Scheduler時Quartz調度程序的主要接口,維護一個JobDetails和Triggers的注冊表,到觸發時間時,調度程序將執行Job。
調度程序Scheduler實例通過SchedulerFactory工廠創建,有兩個實現類DirectSchedulerFactory和StdSchedulerFactory,前者不寫入持久化數據庫,后者加載quartz.properties屬性配置文件,將查找加載當前目錄和org.quartz包。
任務是實現Job接口的一個類,實現方法execute(),可聲明屬性:
- @DisallowConcurrentExecution,同時只執行一個實例。
- @PersisJobDataAfterExecution,正常執行后將JobDataMap備份。
JobDetail將任務屬性傳遞給Scheduler,通過JobBuilder創建,JobDataMap保存任務實例的狀態信息。
觸發器Trigger通過TriggerBuilder創建,結合ScheduleBuilder設置時間規則,可通過JobDataMap傳遞數據給Job。常用的兩種觸發器:
- SimpleTrigger:指定開始時間、結束時間、重復次數、執行間隔。
- CronTrigger:使用Cron表達式設置時間規則。
構建ScheduleBuilder設置時間規則時,可配置Misfire選項,指定執行失敗熄火時的處理規則:
含義 | 支持ScheduleBuilder | |
IgnoreMisfires | 馬上執行,比如整點9點失敗,系統10:15啟動,會馬上執行9點10點的任務。 | SimpleSchedule CronScheduleBuilder CalendarIntervalScheduleBuilder DailyTimeIntervalScheduleBuilder |
FireNow | 立即再次觸發 | SimpleSchedule |
NowWithExistingCount | 立即再次觸發,不計入總次數。 | SimpleSchedule |
NowWithRemainingCount | 立即再次觸發,計入總次數。 | SimpleSchedule |
NextWithExistingCount | 等待下次執行,不計入總次數。 | SimpleSchedule |
NextWithRemainingCount | 等待下次執行,計入總次數。 | SimpleSchedule |
DoNothing | 不做任何處理,執行下一次周期。 | CronScheduleBuilder CalendarIntervalScheduleBuilder DailyTimeIntervalScheduleBuilder |
FireAndProceed | 合并下一個周期,正常執行。比如整點9點10點失敗,系統10:15啟動,在11點合并執行一次。 | CronScheduleBuilder CalendarIntervalScheduleBuilder DailyTimeIntervalScheduleBuilder |
名稱欄目:Quartz的常用類有哪些
網站路徑:http://vcdvsql.cn/article2/iigiic.html
成都網站建設公司_創新互聯,為您提供服務器托管、響應式網站、微信公眾號、域名注冊、全網營銷推廣、手機網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯