quartz簡(jiǎn)單應(yīng)用以及quartz和timer的區(qū)別

1.背景介紹

Quartz是一個(gè)作業(yè)調(diào)度庫(kù),可以與任何其他軟件系統(tǒng)集成,也可以和其他軟件系統(tǒng)一起使用鉴裹。“job scheduler”作業(yè)調(diào)度程序是一個(gè)服務(wù)組件钥弯,負(fù)責(zé)執(zhí)行(或通知)其他軟件組件預(yù)定(預(yù)定)時(shí)間到達(dá)径荔。

Quartz非常靈活,并且包含多個(gè)可以單獨(dú)使用或一起使用的使用范例脆霎,以便實(shí)現(xiàn)所需的行為总处,并使我們能夠以對(duì)項(xiàng)目最為“自然”的方式編寫(xiě)代碼。

Quartz非常輕量級(jí)睛蛛,而且只需要很少的設(shè)置/配置 - 如果您的需求相對(duì)比較基本的話(huà)鹦马,它實(shí)際上可以用于“開(kāi)箱即用”的。

Quartz是容錯(cuò)的忆肾,可以在系統(tǒng)重啟之間持續(xù)('記住')你的預(yù)定作業(yè)荸频。


2.知識(shí)剖析

Quartz體系結(jié)構(gòu)

Job: 是一個(gè)接口,只定義一個(gè)方法execute(JobExecutionContext context)客冈,在實(shí)現(xiàn)接口的execute方法中編寫(xiě)所需要定時(shí)執(zhí)行的Job(任務(wù))旭从, JobExecutionContext類(lèi)提供了調(diào)度應(yīng)用的一些信息。

Job運(yùn)行時(shí)的信息保存在JobDataMap實(shí)例中场仲;

JobDetail: Quartz每次調(diào)度Job時(shí)和悦, 都重新創(chuàng)建一個(gè)Job實(shí)例, 所以它不直接接受一個(gè)Job的實(shí)例燎窘,相反它接收一個(gè)Job實(shí)現(xiàn)類(lèi)(JobDetail:描述Job的實(shí)現(xiàn)類(lèi)及其它相關(guān)的靜態(tài)信息摹闽,如Job名字、描述褐健、關(guān)聯(lián)監(jiān)聽(tīng)器等信息),

以便運(yùn)行時(shí)通過(guò)newInstance()的反射機(jī)制實(shí)例化Job

Trigger:是一個(gè)類(lèi),描述觸發(fā)Job執(zhí)行的時(shí)間觸發(fā)規(guī)則蚜迅。主要有SimpleTrigger和CronTrigger這兩個(gè)子類(lèi)舵匾。

當(dāng)且僅當(dāng)需調(diào)度一次或者以固定時(shí)間間隔周期執(zhí)行調(diào)度,SimpleTrigger是最適合的選擇谁不;而CronTrigger則可以通過(guò)Cron表達(dá)式定義出各種復(fù)雜時(shí)間規(guī)則的調(diào)度方案:

Calendar:org.quartz.Calendar和java.util.Calendar不同坐梯, 它是一些日歷特定時(shí)間點(diǎn)的集合(可以簡(jiǎn)單地將org.quartz.Calendar看作java.util.Calendar的集合——java.util.Calendar代表一個(gè)日歷時(shí)間點(diǎn),無(wú)特殊說(shuō)明后面的Calendar即指org.quartz.Calendar)刹帕。

一個(gè)Trigger可以和多個(gè)Calendar關(guān)聯(lián)吵血, 以便排除或包含某些時(shí)間點(diǎn)

Scheduler:代表一個(gè)Quartz的獨(dú)立運(yùn)行容器, Trigger和JobDetail可以注冊(cè)到Scheduler中偷溺,擁有各自的組及名稱(chēng)蹋辅,組及名稱(chēng)必須唯一(但可以和Trigger的組和名稱(chēng)相同,因?yàn)樗鼈兪遣煌?lèi)型的)挫掏。Scheduler定義了多個(gè)接口方法侦另, 允許外部通過(guò)組及名稱(chēng)訪(fǎng)問(wèn)和控制容器中Trigger和JobDetail。

Scheduler可以將Trigger綁定到某一JobDetail中尉共, 這樣當(dāng)Trigger觸發(fā)時(shí)褒傅,對(duì)應(yīng)的Job就被執(zhí)行。一個(gè)Job可以對(duì)應(yīng)多個(gè)Trigger袄友, 但一個(gè)Trigger只能對(duì)應(yīng)一個(gè)Job殿托。可以通過(guò)SchedulerFactory創(chuàng)建一個(gè)Scheduler實(shí)例剧蚣。Scheduler擁有一個(gè)SchedulerContext支竹,它類(lèi)似于ServletContext,保存著Scheduler上下文信息券敌,Job和Trigger都可以訪(fǎng)問(wèn)SchedulerContext內(nèi)的信息唾戚。SchedulerContext內(nèi)部通過(guò)一個(gè)Map以鍵值對(duì)的方式維護(hù)這些上下文數(shù)據(jù),SchedulerContext為保存和獲取數(shù)據(jù)提供了多個(gè)put()和getXxx()的方法待诅。

3.常見(jiàn)問(wèn)題

quartz和timer的區(qū)別.


4.解決方案


5.編碼實(shí)戰(zhàn)


6.擴(kuò)展思考

為什么不使用java.util.Timer

從JDK 1.3起叹坦,Java通過(guò)java.util.Timer和java.util.TimerTask類(lèi)具有“內(nèi)置”定時(shí)器功能

定時(shí)器沒(méi)有持久性機(jī)制。

定時(shí)器有不靈活的調(diào)度(只能設(shè)置開(kāi)始時(shí)間和重復(fù)間隔卑雁,沒(méi)有基于日期募书,一天中的時(shí)間等)

定時(shí)器不使用線(xiàn)程池(每個(gè)定時(shí)器一個(gè)線(xiàn)程)

定時(shí)器沒(méi)有真正的管理方案 - 你必須編寫(xiě)自己的機(jī)制來(lái)記住,組織和檢索你的任務(wù)名稱(chēng)等测蹲。


7.參考文獻(xiàn)

http://www.quartz-scheduler.org/documentation/faq.html#FAQ-whatQuartz

http://blog.csdn.net/gongyouong/article/details/72965451


PPT



undefined_騰訊視頻

謝謝觀看

今天的分享就到這里啦莹捡,歡迎大家點(diǎn)贊、轉(zhuǎn)發(fā)扣甲、留言篮赢、拍磚~

技能樹(shù).IT修真院

“我們相信人人都可以成為一個(gè)工程師齿椅,現(xiàn)在開(kāi)始,找個(gè)師兄启泣,帶你入門(mén)涣脚,掌控自己學(xué)習(xí)的節(jié)奏,學(xué)習(xí)的路上不再迷昧让#”遣蚀。

這里是技能樹(shù).IT修真院,成千上萬(wàn)的師兄在這里找到了自己的學(xué)習(xí)路線(xiàn)纱耻,學(xué)習(xí)透明化芭梯,成長(zhǎng)可見(jiàn)化,師兄1對(duì)1免費(fèi)指導(dǎo)弄喘【链快來(lái)與我一起學(xué)習(xí)吧~

www.jnshu.com/login/1/14708688

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市限次,隨后出現(xiàn)的幾起案子芒涡,更是在濱河造成了極大的恐慌,老刑警劉巖卖漫,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件费尽,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡羊始,警方通過(guò)查閱死者的電腦和手機(jī)旱幼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)突委,“玉大人柏卤,你說(shuō)我怎么就攤上這事≡扔停” “怎么了缘缚?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)敌蚜。 經(jīng)常有香客問(wèn)我桥滨,道長(zhǎng),這世上最難降的妖魔是什么弛车? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任齐媒,我火速辦了婚禮,結(jié)果婚禮上纷跛,老公的妹妹穿的比我還像新娘喻括。我一直安慰自己,他們只是感情好贫奠,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布唬血。 她就那樣靜靜地躺著望蜡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪刁品。 梳的紋絲不亂的頭發(fā)上泣特,一...
    開(kāi)封第一講書(shū)人閱讀 49,764評(píng)論 1 290
  • 那天浩姥,我揣著相機(jī)與錄音挑随,去河邊找鬼。 笑死勒叠,一個(gè)胖子當(dāng)著我的面吹牛兜挨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播眯分,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼拌汇,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了弊决?” 一聲冷哼從身側(cè)響起噪舀,我...
    開(kāi)封第一講書(shū)人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎飘诗,沒(méi)想到半個(gè)月后与倡,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡昆稿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年纺座,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片溉潭。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡净响,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出喳瓣,到底是詐尸還是另有隱情馋贤,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布畏陕,位于F島的核電站配乓,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏蹭秋。R本人自食惡果不足惜扰付,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望仁讨。 院中可真熱鬧羽莺,春花似錦、人聲如沸洞豁。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至刁卜,卻和暖如春志电,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蛔趴。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工挑辆, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人孝情。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓鱼蝉,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親箫荡。 傳聞我的和親對(duì)象是個(gè)殘疾皇子魁亦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • scheduler定時(shí)調(diào)度系統(tǒng)是大多行業(yè)項(xiàng)目都需要的,傳統(tǒng)的spring-job模式羔挡,個(gè)人感覺(jué)已經(jīng)out了洁奈,因?yàn)榇?..
    安琪拉_4b7e閱讀 2,830評(píng)論 4 6
  • Quartz 中集群如何工作 一個(gè) Quartz 集群中的每個(gè)節(jié)點(diǎn)是一個(gè)獨(dú)立的 Quartz 應(yīng)用,它又管理著其他...
    那臉憔悴閱讀 2,738評(píng)論 1 52
  • 【導(dǎo)師】劉艷 【導(dǎo)圖解說(shuō)】我講的歷史世界古代我寫(xiě)了史前時(shí)期上古文明科學(xué)技術(shù)中古亞歐文明五個(gè)小結(jié) 【心得體會(huì)】繪制這...
    蝴蝶u閱讀 338評(píng)論 0 0
  • 不管你信不信绞灼,反正事實(shí)如此: 大部分所謂的智商的確不是天定的利术,而是后天習(xí)得的。 我們每獲得一個(gè)新的知識(shí)點(diǎn)的時(shí)候镀赌,智...
    A00寶馬閱讀 313評(píng)論 0 0
  • 前幾日下班蹭了下同事的車(chē),看著一路疾馳的風(fēng)景良姆,他和我說(shuō)起他的夢(mèng)想:養(yǎng)一群羊肠虽,早起牧羊白日里躺在草原上天馬行空的做夢(mèng)...
    唐門(mén)三小姐閱讀 478評(píng)論 0 0