基于Quartz定时调度任务(详解)

时间:2021-05-19

简介

Quarzt是一个项目中定时执行任务的开源项目,Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用,这里我们介绍和spring整合的例子

因为Spring已经整合Quarzt,所以我们只需要配置一下即可。

下载jar包

1.可以直接去http:/// 可以通过指定条件自动生成corn表达式。

下面是七个*所代表的意义

星号:* 代表任意时间,即指示着你想在这个域上包含所有合法的值,

* * * * * * 代表每时每刻都会触发

0 * 17 * * ? : 每天从下午5点到下午5:59中的每分钟激发一次 trigger。它停在下午 5:59 是因为值 17 在小时域上,在下午 6 点时,小时变为 18 了,也就不再理会这个 trigger,直到下一天的下午5点。

问号(?):? 号只能用在日和周域上,但是不能在这两个域上同时使用。你可以认为 ? 字符是 "我并不关心在该域上是什么值。" 这不同于星号,星号是指示着该域上的每一个值。? 是说不为该域指定值,假如你为这两域的其中一个指定了值,那就必须在另一个字值上放一个 ?。

0 10,44 14 ? 3 WEB :在三月中的每个星期三的下午 2:10 和 下午 2:44 被触发。

逗号(,) : 是用来在给某个域上指定一个值列表的。例如,使用值 0,15,30,45 在秒域上意味着每15秒触发一个 trigger。

0 0,15,30,45 * * * ? :每刻钟触发一次 trigger。

反斜线(/): (/) 是用于时间表的递增的。我们刚刚用了逗号来表示每15分钟的递增,但是我们也能写成这样 0/15。

0/15 0/30 * * * ? :在整点和半点时每15秒触发 trigger。

中划线(-):中划线 (-) 用于指定一个范围。例如,在小时域上的 3-8 意味着 "3,4,5,6,7 和 8 点。" 域的值不允许回卷,所以像 50-10 这样的值是不允许的。

0 45 3-8 ? * * ::在上午的3点至上午的8点的45分时触发。

字母(L):L 说明了某域上允许的最后一个值。它仅被日和周域支持。当用在日域上,表示的是在月域上指定的月份的最后一天,当 L 字母用于周域上,指示着周的最后一天,就是星期六 (或者数字7),你可以用一个数字与 L 连起来表示月份的最后一个星期 X。

0 0 8 L * ?:每个月最后一天的上午 8:00 触发

0 59 23 ? * L:每个月的最后一个星期六下午的 11:59 触发

0 0 12 ? * 2L:每个月的最后一个星期一触发(数字与 L 连起来表示月份的最后一个星期 X)

字母(W):平日 (Mon-Fri),并且仅能用于日域中。它用来指定离指定日的最近的一个平日

井号(#):# 字符仅能用于周域中。它用于指定月份中的第几周的哪一天。例如,如果你指定周域的值为 6#3,它意思是某月的第三个周五 (6=星期五,#3意味着月份中的第三周)。

示例

"0 0 12 * *?" 每天中午12点触发"0 15 10 ? **" 每天上午10:15触发"0 15 10 * *?" 每天上午10:15触发"0 15 10 * * ?*" 每天上午10:15触发"0 15 10 * * ?2005" 2005年的每天上午10:15触发"0 * 14 * *?" 在每天下午2点到下午2:59期间的每1分钟触发"0 0/5 14 * *?" 在每天下午2点到下午2:55期间的每5分钟触发"0 0/5 14,18 ** ?" 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发"0 0-5 14 * *?" 在每天下午2点到下午2:05期间的每1分钟触发"0 10,44 14 ? 3WED" 每年三月的星期三的下午2:10和2:44触发"0 15 10 ? *MON-FRI" 周一至周五的上午10:15触发"0 15 10 15 *?" 每月15日上午10:15触发"0 15 10 L *?" 每月最后一日的上午10:15触发"0 15 10 ? *6L" 每月的最后一个星期五上午10:15触发"0 15 10 ? * 6L2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发"0 15 10 ? *6#3" 每月的第三个星期五上午10:15触发

以上这篇基于Quartz定时调度任务(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章