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