定时器(Quartz) [kwɔːts]

2017-12-25  本文已影响0人  喜欢敲代码的猫

Quartz定时器就是对java中Timer定时器的封装,支持Cron表达式定时

使用步骤:

1.定义任务类(指定到指定时间干什么)

2.将任务类配置到JobDetail类中

3.将JobDetail与Trigger(触发器)配对(Cron表达式是Trigger)

4.将JboDetail+Trigger放入调度中心

4.配置注解扫描

____________________________________________________________________

上面用到的Cron表达式

源于Unix系统中的Cron表达式,精度只到分钟

我们使用的Cron表达式,精度到秒

位数也从Unix中的6位变为7位=>七子表达式

秒 分 时 日 月 周 年

*:号

任意值 *****?*(每年的每月的每日的每份的每一秒都执行一次)

?:号只能使用在周或日位置上(控制那一天执行时,要么通过日来表达要么通过周来表达,二选一) 表示忽略或省略

某一位上需要填入多个值时,可以将多个值用逗号隔开

0,15,30,45 * * ? * * *(每15秒执行一次)

-:表达范围 1-10表示1到10的范围

0-15 * * ? * * *(每分钟的0到15秒之间每秒执行一次)

/:表达间隔 0/15 从开始每隔15单位执行(0/15 * * ? * * *)

0 0 20 1/3 * ? *(每月从1号开始每隔三天晚上八点执行一次)

L:(last)表示最后一个单位,只能用在日或周上

0 0 21 L * ? *(每月最后一天的晚上9点)

0 0 21 ? 0 2L *(每月最后一个周一的晚上9点)

w:(work)表示工作日,(周一到周五工作日,只能使用在上)

0 0 21 w * ? *(每月周一到周五的晚上九点执行)

0 0 21 15w * ? *(每月的15号晚上9点执行,15号不是工作日就到15号最近的工作日执行,如果15号是周六name就会在周五触发,如果是周日就在周一触发)

#:(Number)

表示第几个指定单位,只能使用在周上

0 0 21 ? * 1#3 *(每月的第三个周日的晚上九点执行)

上一篇下一篇

猜你喜欢

热点阅读