触发器(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)
|
触发器规则表达式配置:
格式:
[秒] [分] [小时] [日] [月] [周] [年]
格式说明:
位置
|
时间域名
|
是否必须
|
允许值
|
允许通配符
|
1
|
秒
|
是
|
0-59
|
, - * /
|
2
|
分
|
是
|
0-59
|
, - * /
|
3
|
小时
|
是
|
0-23
|
, - * /
|
4
|
日
|
是
|
1-31
|
, - * ? / L W
|
5
|
月
|
是
|
1-12
|
, - * /
|
6
|
周
|
是
|
1-7或MON-SUN
|
, - * ? / L #
|
7
|
年
|
否
|
empty或1970-2099
|
, - * /
|
通配符说明:
|
|
*
|
可用在所有字段中,表示对应时间域的每一个时刻,例如,*在分钟字段时,表示“每分钟”
|
?
|
该字符只在日期和星期字段中使用,它通常指定为“无意义的值”,相当于点位符
|
-
|
表示区间。例如 在小时上设置 "10-12",表示 10,11,12点都会触发
|
,
|
表示指定多个值,例如在周字段上设置 "MON,WED,FRI" 表示周一,周三和周五触发
|
/
|
x/y表达一个等步长序列,x为起始值,y为增量步长值。如在分钟字段中使用0/15,则表示为0,15,30和45秒,而5/15在分钟字段中表示5,20,35,50,你也可以使用*/y,它等同于0/y
|
L
|
该字符只在日期和星期字段中使用,代表“Last”的意思,但它在两个字段中意思不同。L在日期字段中,表示这个月份的最后一天,如一月的31号,非闰年二月的28号;如果L用在星期中,则表示星期六,等同于7。但是,如果L出现在星期字段里,而且在前面有一个数值X,则表示“这个月的最后X天”,例如,6L表示该月的最后星期五
|
W
|
该字符只能出现在日期字段里,是对前导日期的修饰,表示离该日期最近的工作日。例如15W表示离该月15号最近的工作日,如果该月15号是星期六,则匹配14号星期五;如果15日是星期日,则匹配16号星期一;如果15号是星期二,那结果就是15号星期二。但必须注意关联的匹配日期不能够跨月,如你指定1W,如果1号是星期六,结果匹配的是3号星期一,而非上个月最后的那天。W字符串只能指定单一日期,而不能指定日期范围
|
#
|
该字符只能在星期字段中使用,表示当月某个工作日。如6#3表示当月的第三个星期五(6表示星期五,#3表示当前的第三个),而4#5表示当月的第五个星期三,假设当月没有第五个星期三,忽略不触发
|
分享到:
相关推荐
内容提要:使用和配置 JobStoreTX,需要为不同数据库平台指定不同的驱动代理( DriverDelegate),和 quartz.properties 中与 JobStoreTX 相关配置说明。 第六章. Job 存储和持久化 (第四部分) 内容提要:为 ...
这三个核心组件共同组成了Quartz的任务调度机制,使得开发人员可以通过配置简单的定时任务来实现复杂的调度策略。 Scheduler 是Quartz的核心组件,它负责调度和执行任务。Scheduler有一个任务管理器,负责维护任务...
通过CronScheduleBuilder、SimpleScheduleBuilder设置时间规则。
1.页面配置Trigger以及选择Job任务来开启定时器。 2.记录job执行历史以及异常。 3.记录schedule操作历史以及异常。 分享给大家,欢迎提出批评和建议。 有些注释没有加上,有任何问题都可以email: wfeiyangvip@163....
Quartz 框架快速入门 在前面两篇文章中简单介绍了在java应用程序中如何使用Quartz框架,这一篇中我们将看到如何在web环境下通过配置文件来完成Quartz的后台作业调度,而不必手工去创建Trigger和Scheduler
spring-quartz Spring整合Quartz 将Quartz相关对象的创建和管理,整合到Spring中beans容器中,使得Quartz的使用和操作更加方便。...比如,将Quartz持久化Job和Trigger使用的DataSource,交由Spring管理维护。
quartz1.6.5 整合 Hibernate、Spring,本例支持同时运行多个不同的任务,每个任务动态调用的方法和时间都不一样; 附件中有支持各种数据库的脚本;本例支持Oracle10g数据库脚本;开发测试使用的IDE工具MyEclipse6.5;...
这个东西是我在配置spring和quartz实现定时任务时遇到的。因为spring2.0好像有bug,在spring配置文件中用普通的trigger注入时,会报序列化的错误。里面有MethodInvokingJobDetailFactoryBean和...
2、JobDetail是一个可执行的工作,它本身可能是有状态的 3、Trigger触发器代表一个调度参数的配置,什么时候去调 4、当JobDetail和Trig
typora-root-url pictures Dynamic Quartz 最近在公司实习,发现公司有一套spring+Quartz的动态任务管理系统。可以使用Web界面进行任务动态的创建、删除、停止...在任务调度Quartz中,Trigger主要的触发器有:Simple
17.4.5 使用Hibernate二级缓存 17.5 对持久层进行测试 17.5.1 配置Unitils测试环境 17.5.2 准备测试数据库及测试数据 17.5.3 编写DAO测试基类 17.5.4 编写BoardDao测试用例 17.6 服务层开发 17.6.1 UserService的...
17.4.5 使用Hibernate二级缓存 17.5 对持久层进行测试 17.5.1 配置Unitils测试环境 17.5.2 准备测试数据库及测试数据 17.5.3 编写DAO测试基类 17.5.4 编写BoardDao测试用例 17.6 服务层开发 17.6.1 UserService的...
Sundial还隐藏了Quartz的细节配置细节,从而减少了启动和运行简单RAM作业调度程序所需的时间。 日d为每个作业使用ThreadLocal包装器,其中包含作业键值对的HashMap。 方便的方法可以轻松访问这些参数。 JobAction是...