黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java基礎(chǔ)學習,quartz框架視頻教程

Java基礎(chǔ)學習,quartz框架視頻教程

更新時間:2020-06-22 13:07:44 來源:動力節(jié)點 瀏覽2564次

第一章、Quartz

1.1 Quartz概念

Quartz是OpenSymphony開源組織的一個Java開源項目,在2009被Terracotta收購。Quartz官網(wǎng)

1.2 Quartz任務(wù)調(diào)度主要元素

Quartz任務(wù)調(diào)度的主要元素有:

Trigger(觸發(fā)器)

Scheduler(任務(wù)調(diào)度器)

Job(任務(wù))

其中Trigger,Job是元數(shù)據(jù),Scheduler才是任務(wù)調(diào)度的控制器。

1.3 Quartz特點

強大的調(diào)度功能,例如支持多樣的調(diào)度方式

靈活的應(yīng)用方式,例如支持任務(wù)和調(diào)度的多種組合方式

分布式和集群功能,在被Terracotta收購后,在Quartz的基礎(chǔ)上的拓展

1.4 Quartz基本元素關(guān)系圖

Java基礎(chǔ)學習,quartz框架視頻教程

第二章、Trigger(觸發(fā)器)

2.1 Trigger定義

Trigger也即觸發(fā)器,用于定義任務(wù)調(diào)度時間規(guī)則

2.2 Trigger屬性

startTime和endTime

所有的Trigger都包含startTime、endTime這兩個屬性

優(yōu)先級(Priority)

觸發(fā)器的優(yōu)先級值默認為5,不過注意優(yōu)先級是針對同一時刻來說的,在同一時刻優(yōu)先級高的先觸發(fā)。假如一個觸發(fā)器被執(zhí)行時間為3:00,另外一個為3:01,那么肯定是先執(zhí)行時間為3:00的觸發(fā)器。

錯失觸發(fā)(Misfire)策略

在任務(wù)調(diào)度中,并不能保證所有的觸發(fā)器都會在指定時間被觸發(fā),假如Scheduler資源不足或者服務(wù)器重啟的情況,就好發(fā)生錯失觸發(fā)的情況。

2.3 Trigger類型

在任務(wù)調(diào)度Quartz中,Trigger主要的觸發(fā)器有:SimpleTrigger,CalendarIntervelTrigger,DailyTimeIntervalTrigger,CronTrigger,注意,本博客所介紹的觸發(fā)器都是基于Quartz2.2.x版本的,不同版本,觸發(fā)器類型略有不同。

2.3.1 SimpleTrigger

SimpleTrigger是一種最基本的觸發(fā)器,指定從某一個時間開始,以一定的時間間隔執(zhí)行的任務(wù)。

SimpleTrigger的屬性有:

repeatInterval重復間隔

repeatCount重復次數(shù),實際執(zhí)行次數(shù)是repeatCount+1。

simpleSchedule()

//.withIntervalInHours(1)//每小時執(zhí)行一次

.withIntervalInMinutes(1)//每分鐘執(zhí)行一次

//.repeatForever()//次數(shù)不限

.withRepeatCount(10)//次數(shù)為10次

.build();

//構(gòu)建

2.3.2 CalendarIntervalTrigger

CalendarIntervalTrigger和SimpleTrigger不同的是,SimpleTrigger指定的時間間隔為毫秒,CalendarIntervalTrigger支持的間隔單位有秒,分鐘,小時,天,月,年,星期。

CalendarIntervalTrigger的屬性有:

interval執(zhí)行間隔

intervalUnit執(zhí)行間隔的單位(秒,分鐘,小時,天,月,年,星期)

calendarIntervalSchedule()

.withIntervalInDays(1)//每天執(zhí)行一次

//.withIntervalInWeeks(1)//每周執(zhí)行一次

.build();

2.3.3 DailyTimeIntervalTrigger

DailyTimeIntervalTrigger和SimpleTrigger不同的是不僅可以支持SimpleTrigger支持時間間隔類型,而且還支持指定星期。

DailyTimeIntervalTrigger的屬性有:

startTimeOfDay每天開始時間

endTimeOfDay每天結(jié)束時間

daysOfWeek需要執(zhí)行的星期

interval執(zhí)行間隔

intervalUnit執(zhí)行間隔的單位(秒,分鐘,小時,天,月,年,星期)

repeatCount重復次數(shù)

dailyTimeIntervalSchedule()

.startingDailyAt(TimeOfDay.hourAndMinuteOfDay(9,0))

//第天9:00開始

.endingDailyAt(TimeOfDay.hourAndMinuteOfDay(15,0))

//15:00結(jié)束

.onDaysOfTheWeek(MONDAY,TUESDAY,WEDNESDAY

,THURSDAY,FRIDAY)

//周一至周五執(zhí)行

.withIntervalInHours(1)

//每間隔1小時執(zhí)行一次

.withRepeatCount(100)

//最多重復100次(實際執(zhí)行100+1次)

.build();

2.3.4 CronTrigge

CronTrigger適合于更復雜的任務(wù),它支持Linux Cron的語法。CronTrigger覆蓋了以上三種Trigger的大部分功能。

CronTrigger的屬性只有;

Cron表達式,Cron表達式需要程序員自己編寫,比較復雜

cronSchedule("0 0/3 9-15**?")//每天9:00-15:00,每隔3分鐘執(zhí)行一次

.build();

cronSchedule("0 30 9?*MON")//每周一,9:30執(zhí)行一次

.build();

weeklyOnDayAndHourAndMinute(MONDAY,9,30)//等同于0 30 9?*MON

.build();

Cron表達式

Java基礎(chǔ)學習,quartz框架視頻教程

星號():可用在所有字段中,表示對應(yīng)時間域的每一個時刻,例如,在分鐘字段時,表示“每分鐘”;

問號(?):該字符只在日期和星期字段中使用,它通常指定為“無意義的值”,相當于點位符;

減號(-):表達一個范圍,如在小時字段中使用“10-12”,則表示從10到12點,即10,11,12;

逗號(,):表達一個列表值,如在星期字段中使用“MON,WED,FRI”,則表示星期一,星期三和星期五;

斜杠(/):x/y表達一個等步長序列,x為起始值,y為增量步長值。如在分鐘字段中使用0/15,則表示為0,15,30和45秒,而5/15在分鐘字段中表示5,20,35,50,你也可以使用*/y,它等同于0/y;

L:該字符只在日期和星期字段中使用,代表“Last”的意思,但它在兩個字段中意思不同。L在日期字段中,表示這個月份的最后一天,如一月的31號,非閏年二月的28號;如果L用在星期中,則表示星期六,等同于7。但是,如果L出現(xiàn)在星期字段里,而且在前面有一個數(shù)值X,則表示“這個月的最后X天”,例如,6L表示該月的最后星期五;

W:該字符只能出現(xiàn)在日期字段里,是對前導日期的修飾,表示離該日期最近的工作日。例如15W表示離該月15號最近的工作日,如果該月15號是星期六,則匹配14號星期五;如果15日是星期日,則匹配16號星期一;如果15號是星期二,那結(jié)果就是15號星期二。但必須注意關(guān)聯(lián)的匹配日期不能夠跨月,如你指定1W,如果1號是星期六,結(jié)果匹配的是3號星期一,而非上個月最后的那天。W字符串只能指定單一日期,而不能指定日期范圍;

LW組合:在日期字段可以組合使用LW,它的意思是當月的最后一個工作日;

井號(#):該字符只能在星期字段中使用,表示當月某個工作日。如6#3表示當月的第三個星期五(6表示星期五,#3表示當前的第三個),而4#5表示當月的第五個星期三,假設(shè)當月沒有第五個星期三,忽略不觸發(fā);

C:該字符只在日期和星期字段中使用,代表“Calendar”的意思。它的意思是計劃所關(guān)聯(lián)的日期,如果日期沒有被關(guān)聯(lián),則相當于日歷中所有日期。例如5C在日期字段中就相當于日歷5日以后的第一天。1C在星期字段中相當于星期日后的第一天。

Cron表達式對特殊字符的大小寫不敏感,對代表星期的縮寫英文大小寫也不敏感。

Java基礎(chǔ)學習,quartz框架視頻教程

以上就是動力節(jié)點java培訓機構(gòu)的小編針對“Java基礎(chǔ)學習,quartz框架視頻教程”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 亚洲天堂资源 | 亚洲精品视频在线播放 | 宅男噜噜噜一区二区三区 | 中国一级做a爰片久久毛片 中国一级做a爱片免费 | 国产成人精品一区 | 亚洲嗯啊 | 理论片中文字幕在线精品 | 波多野结衣福利 | 欧美一区精品二区三区 | 欧美精品一区视频 | 国产免费播放一区二区 | 欧美亚洲日本 | 成人欧美视频在线观看 | 免费高清欧美一区二区视频 | 又爽又黄又无遮挡的视频在线观看 | 三级黄色片免费观看 | 日本ccc三级| 人人干人人插 | 精品色| 中国大陆高清aⅴ毛片 | 国产 字幕 制服 中文 在线 | 网站啪啪 | 亚洲 欧美 成人日韩 | 99久在线| 日韩欧一级毛片在线播无遮挡 | 成人精品视频一区二区三区尤物 | 午夜影片 | 亚洲高清视频免费 | 2018天天干夜夜操 | 色黄啪啪网18以下勿进动画 | 黄色特一级片 | 国产精品久久人人做人人爽 | www.九色视频 | 日韩成人精品日本亚洲 | 国产香蕉久久精品综合网 | 成 人 黄 色 免费网 | 精品不卡 | 狠狠色丁香久久婷婷综合_中 | 男人下面桶女人视频免费 | ririai99在线视频观看 | 日本三级网站 |