栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

@Scheduled(cron = “* * * * * * *“ )详解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

@Scheduled(cron = “* * * * * * *“ )详解

        Spring framework 对于定时任务提供了支持,下面来对@Scheduled定时器介绍一下。

        想要使用@Scheduled定时器,首先需要在启动类前添加@EnableScheduling注解,从而启动定时器。

        @Scheduled一共有8中配置,参数如下:

参数参数说明示例
croncron表达式是一个字符串,常用于各种定时任务解决方案cron ="0/30 * * * * ?"
zonezone用来解析cron表达式中的时区,默认取服务器所在时区。GMT-12:00
fixedDelay上一次执行完毕时间点到下一次执行开始时间点之间的时间,单位:毫秒5000
fixedDelayString上一次执行完毕时间点到下一次执行开始时间点之间的时间,使用字符串的形式"5000"
fixedRate上一次执行开始时间点经过多长时间再次执行,单位:毫秒5000
fixedRateString上一次执行开始时间点经过多长时间再次执行,使用字符串的形式"5000"
initialDelay第一次执行任务前延误时间,单位:毫秒2000
initialDelayString第一次执行任务前延误时间,使用字符串的形式"2000"

cron表达式

        1、cron表达式格式

                {秒} {分钟} {小时} {日期} {月份} {星期} {年份(可为空)}

        2、cron表达式占位符解释

                {秒} {分钟}:允许范围:0-59,不允许为空值。

                                     如果值不合法,会抛出SchedulerException异常

                 【注】

                        "*":代表每隔1秒钟触发

                        ",":代表在指定的秒数触发,例如,"1,5,20"表示1秒,5秒和20秒时触发

                        "-":代表在指定的范围内触发,例如,"15-20"表示从15秒开始触发到20秒结束触发,每隔1秒触发1次。

                        "/":代表指定数值的增量触发,例如,在秒域中使用"10/15"表示每分钟内第10秒触发,后续每隔15秒触发一次。注意:这种间隔循环只在每分钟内执行,所以在第55秒执行一次后,中断每15秒的间隔循环,等到下一分钟的第10秒再次开始执行。

                {小时}:允许值范围:0-23,不允许为空值

                                如果值不合法,会抛出SchedulerException异常,占位符和秒数一样。

                {日期}:允许值范围:1-31,不允许为空值

                                 如果值不合法,会抛出SchedulerException异常。

                {星期}:允许值范围:1-7,1代表星期天,一个星期的第一天,不允许为空值

                                如果值不合法,会抛出SchedulerException异常。

                {年份}:允许值范围:1970-2099,允许为空

                                如果值不合法,会抛出SchedulerException异常。

【注】由于{日期}和{星期}互斥,所以其中之一被定值以后,必须对另一个设"?"

        3、例子

                "30 * * * * ?"        每半分钟触发一次

                "30 10 * * * ?"        每小时的10分30秒触发任务

                "30 10 1 * * ?"        每天的1点10分30秒触发任务

                "0 0 10,14,16 * * ?"        每天的10点、14点和16点触发任务

                “0 */1 * * * ?”                每一分钟执行一次任务

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/667523.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号