quartz

opensymphony提供的強大的開源任務調度框架java

spring的默認調度框架,保存恢復調度現場。靈活,強大調度。spring

使用了   builder調度模式,factory模式,組件模式,鏈式寫法。框架

三個核心概念:1.調度器(定時按期執行任務)  2.任務  3.觸發器ui

體系結構:1.JobDetail  2.trigger(SimpleTrigger--CronTrigger),觸發時間,規則對象

        |      |生命週期

        |      |io

        ——————變量

              |date

          3.  schedulerList

重要組成:job、jobBuilder、jobdetail、jobstore

體系結構:Trigger、TriggerBuilder、ThreadPool、Scheduler、Calendar(一個Trigger能夠和多個calendar關聯,以派出或包括某些時間點),jobListener,triggerListener、SchedularListner

interface job:在exeute()方法裏面編寫業務邏輯的..exeute().相似timerTask的run方法。

 

job在quartz中的生命週期:1.每次調度器執行Job時,在調用execute方法以前,會建立一個新的Job實例。2.調用完成後,關聯的job對象實例會被釋放,釋放的實例會被垃圾回收機制回收。

jobDetail爲job實例提供了許多設置屬性還有JobDataMap成員變量屬性,用來存儲特定Job實例的信息,調度器須要藉助JobDetail對象來添加Job實例。4個屬性:name、group(默認DEFAULT)、jobClass、jobDataMap。

 

JobExecutionContext下面存儲有JobDataMap

Trigger:-AbstractTrigger- -DailyTimeIntervalTriggerImpl- -CalendarIntervalTrigger- -CronTrigger- -SimpleTrigger

Trigger通用屬性:

<1>JobKey <2>StartTime <3>EndTime

jobKey:表示Job實例的標識,觸發器被觸發時,該指定的job實例會執行。

startTime:首次被觸發的時間,類型時java.util.date

endTime:指定觸發器再也不被觸發的時間,類型是java.util.dae

相關文章
相關標籤/搜索