start(); 开启
standby(); 挂起,可以使用start()再次开启
shutdown(); 完全关闭scheduler,不可以被start()所开启
调度器:Scheduler
任务:Job和JobDetail
触发器:Trigger
Scheduler:通过工厂模式创建的,如图,SchedulerFactory的实现类有两个,常用的是StdSchedulerFactory。
Job和Trigger的关系:如图。
Scheduler的创建方式:如图。
接下来主要讲解StdSchedulerFactory,因为DirectSchedulerFactory的参数都需要代码去实现的(开发中提倡声明式配置,就是在配置文件中进行配置,例如xml中等)。
StdSchedulerFactory:使用一组参数(Java.util.Properties)来创建和初始化Quartz调度器,其中这组参数就包括了指定后台运行Quartz的线程数。还有Job的信息存储在何种介质中(例如内存中、或者数数据库中),配置参数一般存储在quartz.properties中。StdSchedulerFactory通过getScheduler犯法来创建和初始化调度器对象。
Scheduler的主要函数:
Date scheduleJob(JobDetail jobDetail,Trigger trigger):绑定JobDetail和Trigger,将其注入到Scheduler,其中返回的Date表示即将执行的最近一次的执行时间,如图。
void start():它是用来启动Scheduler调度器,指定定时任务的。
void standby():Scheduler暂时挂起,暂停工作。停止之后可以再通过start方法重新启动。
void shutdown():关闭调度器,不可以重新启动了。
注意:shutdown支持传入一个布尔类型的参数,如果传入的为true,就表示等待所有正在执行j的job执行完毕后,再进行关闭scheduler。如果传入的false,那么就和无参数一样,表示直接关闭scheduler。
举例:shutdown(true),如图。
Scheduler
Scheduler.scheduleJob返回值为最近一次将要执行job的时间
start 启动schduler
standby 暂停schduler
shutdown 关闭schduler,参数true表示等待正在执行的job执行完毕后在关闭
scheduler创建方式,工厂模式
quartz核心概念
调度器
任务
触发器
shutdown()函数
不能重新执行
scheduler.standby() 挂起任务
scheduler.start(); 重新执行
scheduler.scheduleJob(jobDetail, trigger)
返回的是最近一次计划执行任务的时间
StdSchedulerFactory
Scheduler由SchedulerFactory创建
Job和Trigger是一对多关系
StdSchedulerFactory