-
start(); 开启
standby(); 挂起,可以使用start()再次开启
shutdown(); 完全关闭scheduler,不可以被start()所开启
查看全部 -
调度器:Scheduler
任务:Job和JobDetail
触发器:Trigger
查看全部 -
通配符说明
查看全部 -
“/”是每的意思 0/5就是表达每五秒钟 “,”是“或”的关系 14,18表示14点和18点
查看全部 -
这里的L 代表最后 last 所以6L表示最后的星期五
查看全部 -
这里的#号是第的意思,6代表的是星期五 6#3 表示的是 第三周的星期五
查看全部 -
这里的年可以缺省,就可以不写
查看全部 -
这里的cron表达式中的*代表“每X”,如这里的* * *。。是每秒每分每小时这样的
查看全部 -
完整的Job使用流程查看全部
-
JobDataMap的概念和使用查看全部
-
Job和JobDetail的重要属性查看全部
-
将JobDetail和Trigger绑定到Scheduleer中去查看全部
-
创建JobDetail和Trigger查看全部
-
Job的创建查看全部
-
Quartz用到的设计模式
查看全部 -
链式编码?
查看全部 -
job、trigger、scheduler
查看全部 -
通配符说明
查看全部 -
cron tigger
查看全部 -
请问为什么是先启动再绑定,感觉不符合逻辑啊
查看全部 -
Quartz与Spring整合(前提搭建好Spring环境)
步骤1:pom文件引入jar包,Quartz需要使用Spring的上下文。它还需要使用到Spring的事物。其次就是Quartz的jar包了。
Spring结合Quartz实现定时任务:
方式一:MethodInvokingJobDetailFactoryBean适合调用特定bean方法时很方便。
如图:MethodInvokingJobDetailFactoryBean可以通过dispatcherServlet.xml进行配置,通过它就可以创建JobDetail,其中myBean相当于实现定时任务的类,注入的printMessage为定时任务的方法名。之后再结合Trigger就可以实现定时的执行。
方式二:JobDetailFactoryBean支持传入一些参数。
查看全部 -
定时任务的配置形式(声明式的配置,因为这样可以简化代码的实现,这样就可以将配置信息与代码相分离,便于程序的维护)
StdScheduler是通过读取quartz.properties配置文件信息进行加载的。
quartz.properties的位置和加载顺序:默认情况下Quartz运行时加载的是工程目录下的quartz.properties,如果工程目录下没有quartz.properties,那么就会到Quartz的jar包中去加载quartz.properties配置文件。
如图:工程目录中没有quartz.properties文件情况。
举例:自定义quartz.properties配置文件,并放置项目工程目录的根目录下,通过修改线程池中线程数量为-1,验证了加载的是工程目录中的配置文件。
quartz.properties配置文件的组成:stdScheduler在启动时,就会加载该配置文件,参考该配置文件进行初始化。
1、调度器属性
2、线程池属性:关系到Quartz后台处理能力的性能。
threadCount:Quartz创建的线程用来处理定时任务的业务,最少为1,它没有限制,并且没有默认值,但出于资源的有限考虑,适量即可。
threadPriority:设置工作线程的优先级,优先级大优先执行它的定时任务,它的最大值为10,最小值为1,正常情况下设置为5,5也是默认值,集群中会用到它。
org.quartz.threadPool.class
3、作业存储设置
4、插件配置
查看全部 -
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),如图。
查看全部 -
CronTrigger的作用:基于日历的触发器,而不是像SimpleTrigger精确到指定间隔时间,它比SimpleTrigger更常用(例如:每月的1号执行定时任务,这是SimpleTrigger实现不了的)。
Cron表达式:CronTrigger是基于Cron表达式实现的,如图。
举例:通过CronTrigger实现每秒钟实现一次定时任务。
Cron表达式:使用规则如下图(","表示或的意思,"-"表示至的意思,"*”表示所有的意思,"/"表示每的意思,"?"表示任意的意思,“#”表示第的意思。
Cron表达式举例:如图。
注意:
日和周不能是同一个值(不能同时是*或者?)
月和周的英文不区分大小写,
周X是(X+1),周日是1作业:
查看全部
举报