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