java spring 中(cron = "0 0 */2 * * ?")表示多久运行一次?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java spring 中(cron = "0 0 */2 * * ?")表示多久运行一次?相关的知识,希望对你有一定的参考价值。

cron = "0 0 */2 * * ?"
表示在任意分钟数后加2秒执行该定时任务

具体配置参数如下:
Cron-Expression in Quartz

表达式用" "分隔为7个部分,每部分含义如下

Field Name lowed Values Allowed Special Characters
Seconds 0-59 , - * /
Minutes 0-59 , - * /
Hours 0-23 , - * /
Day-of-month 1-31 , - * ? / L W C
Month 1-12 or JAN-DEC , - * /
Day-of-Week 1-7 or SUN-SAT , - * ? / L C #
Year (Optional) empty, 1970-2099 , - * /
补充说明:
\'*\'代表 \'任何值\'
\'?\'也代表 \'任何值\', 但只用于 Day-of-month 和 Day-of-Week, 当其中一个设置了条件时,另外一个就要用\'?\' 来表示 \'任何值\'
\'-\'用来表示范围, 比如 Day-of-month 5-10 代表 5号到10号
\',\'用来添加附加的参数,比如 Hours 4,14 代表 上午4点和下午两点
\'/\'用来代表增量以用来循环,比如 Hours 2/6 代表 2点,8点,下午2点,下午8点
\'L\'用于 Day-of-month 和 Day-of-Week, 代表最后1天, 在Day-of-month中只用\'L\'就可以,在Day-of-week中用 \'nL\' 来代表是最后一个星期n
\'W\'用于 Day-of-month, 代表最近工作日,比如 \'15W\', 如果15号那天是周六则取14号周五,如果是周日则取16号周一,其他情况不变
\'LW\' 代表当月最后一个工作日
\'#\'用于 Day-of-Week, \'n#m\'用于代表当月第m个 "周n"(根据n在week中的定义确定)
其实Spring中任务调度cronExpression的配置参数和上面的一些配置几乎是一样的(他只不过从秒开始quartz 是一个很不错的spring 定时任备调度jar)
参考技术A 一小时两次,就是30分钟一次 参考技术B 每2小时执行一次 参考技术C 表示每两小时执行一次

Spring 定时任务 cron 表达式

参考技术A 一个cron表达式一般有6位或者7位 元素,6位居多
从左往右 依次顺位 解释如下:

其中每个位置,可选的格式有:

其中,因为 【月份中的日期 】 和 【星期中的日期】 互斥,所以必须要对其中一个设置 【 ?】
一下举出很多例子,方便理解:

以上是关于java spring 中(cron = "0 0 */2 * * ?")表示多久运行一次?的主要内容,如果未能解决你的问题,请参考以下文章

Spring 定时任务 @Scheduled cron表达式

AWS Beanstalk 中 Spring cron 作业的双重执行(2 个线程)

Java Spring @Scheduled 定时任务crontab表达式设置

java spring boot Schedule定时任务

测试 Java Spring @Scheduled 功能 [重复]

Spring Boot,Cron作业同步