quartz

opensymphony提供的强大的开源任务调度框架

spring的默认调度框架,保存恢复调度现场。灵活,强大调度。

使用了   builder调度模式,factory模式,组件模式,链式写法。

三个核心概念:1.调度器(定时定期执行任务)  2.任务  3.触发器

体系结构:1.JobDetail  2.trigger(SimpleTrigger--CronTrigger),触发时间,规则

        |      |

        |      |

        ——————

              |

          3.  scheduler

重要组成: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

 

posted @ 2019-01-06 19:33  uuhh  阅读(205)  评论(0编辑  收藏  举报