quartz 参数说明
来源:互联网 发布:笑傲江湖删减 知乎 编辑:程序博客网 时间:2024/06/05 15:11
JobDetail
JobDetail 用来保存我们作业的详细信息。一个JobDetail可以有多个Trigger,但是一个Trigger只能对应一个JobDetail。下面是JobDetail的一些常用的属性和含义
参数名
类型
备注
name
String
任务的名称,必须
group
String
任务所在组,默认为DEFAULT
jobClass
Class
任务的实现类,必须
description
String
描述
jobDataMap
JobDataMap
用来给作业提供数据支持的数据结构
volatility
Boolean
重启应用之后是否删除任务的相关信息,默认false
durability
Boolean
任务完成之后是否依然保留到数据库,默认false
shouldRecover
Boolean
应用重启之后时候忽略过期任务,默认false
jobListeners
Set
监听器
如:
<bean id="myjob" class="org.springframework.scheduling.quartz.JobDetailFactoryBean"> <property name="jobClass" value="com.tgb.lk.demo.quartz.MyJob1" /><property name="durability" value="true" /></bean>
JobDataMap
这是一个给作业提供数据支持的数据结构,使用方法和java.util.Map一样,非常方便。当一个作业被分配给调度器时,JobDataMap实例就随之生成。
Job有一个StatefulJob子接口,代表有状态的任务,该接口是一个没有方法的标签接口,其目的是让Quartz知道任务的类型,以便采用不同的执行方案。无状态任务在执行时拥有自己的JobDataMap拷贝,对JobDataMap的更改不会影响下次的执行。而有状态任务共享共享同一个JobDataMap实例,每次任务执行对JobDataMap所做的更改会保存下来,后面的执行可以看到这个更改,也即每次执行任务后都会对后面的执行发生影响。
正因为这个原因,无状态的Job可以并发执行,而有状态的StatefulJob不能并发执行,这意味着如果前次的StatefulJob还没有执行完毕,下一次的任务将阻塞等待,直到前次任务执行完毕。有状态任务比无状态任务需要考虑更多的因素,程序往往拥有更高的复杂度,因此除非必要,应该尽量使用无状态的Job。
如果Quartz使用了数据库持久化任务调度信息,无状态的JobDataMap仅会在Scheduler注册任务时保持一次,而有状态任务对应的JobDataMap在每次执行任务后都会进行保存。
JobDataMap实例也可以与一个触发器相关联。这种情况下,对于同一作业的不同触发器,我们可以在JobDataMap中添加不同的数据,以便作业在不同时间执行时能够提供更为灵活的数据支持(学校上午放眼保健操录音第一版,下午放第二版)。
不管是有状态还是无状态的任务,在任务执行期间对Trigger的JobDataMap所做的更改都不会进行持久,也即不会对下次的执行产生影响。
触发器(Trigger)
Trigger是一个抽象类,Quartz提供了两个比较常用的触发器SimpleTrigger和CronTrigger。它们都是Trigger的子类
SimpleTrigger
这是一个简单的触发器,通过它我们可以定义触发的时间,并选择性的设定重复的次数和间隔时间。它有以下常用的属性
参数名
参数类型
备注
name
String
触发器名称
group
String
触发器组名称
repeatCount
int
重复次数,注意:如果为0表示不执行,-1表示不限制次数(直到过期),默认为0
repeatInterval
long
间隔时间,注意:是以毫秒为单位
startTime
Date
开始时间,默认当前时间
endTime
Date
过期时间,默认一直执行(直到执行次数已达到repeatCount)
CronTrigger
这个触发器的功能非常强大,而且非常灵活,但需要掌握有关的Cron表达式知识
参数名
参数类型
备注
name
String
触发器名称
group
String
触发器组名称
cronEx
CronExpression
规则表达式
startTime
Date
开始时间,默认当前时间
endTime
Date
过期时间,默认一直执行(直到执行次数已达到repeatCount)
- quartz 参数说明
- quartz 参数说明
- Quartz 参数说明
- Quartz参数说明
- Spring Quartz 参数说明
- Spring Quartz参数-CronTrigger配置说明
- Quartz中时间参数说明即Cron表达式
- spring quartz 配置定时任务表达式参数说明
- Quartz中时间参数说明 即Cron表达式
- Quartz中时间参数说明 即Cron表达式
- Quartz中时间参数说明 即Cron表达式
- quartz 配置文件说明
- Quartz cronExpression配置说明
- Quartz CronTrigger 配置说明
- Quartz表达式说明
- Quartz CronTrigger配置说明
- Quartz CronTrigger配置说明
- Quartz CronTrigger配置说明
- dsafdsfas
- 字符串模式匹配BF算法的简单实现
- Io exception: Connection refused(DESCRIPTION=(ERR=1153)(VSNNUM=169870336).......(ERROR=(CODE=303)
- 镶嵌数据集Mosaic Dataset
- 接口与类型信息_reflect
- quartz 参数说明
- Reverse A Linked List
- LineDDA的使用方法
- direct path read,direct path write
- Python学习(三)——————基础知识汇总(二)
- 进程和线程(一)
- cache buffers chains ,buffer busy waits
- 获取HttpServletRequest请求参数的工具类
- 2013年的那点事