@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 * * * ?”                每一分钟执行一次任务

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值