十六、spring boot 定时器 - Scheduled

(一)、使用

1.创建spring boot 项目

参考:IDEA创建spring Boot

2.创建定时任务

@Component
public class ScheduledDemo {

    /**
     * 间隔5秒执行一次
     */
    @Scheduled(cron = "0/5 * * * * ?")
    public void execute(){
        System.out.println(new Date() + "定时器启动...");
    }
}

3.开启定时任务

启动类添加注解@EnableScheduling开启定时任务:

@SpringBootApplication
@EnableScheduling
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

4.测试

定时器

(二)、介绍

1.@EnableScheduling

开启定时任务,添加在启动类上。

2.定时任务

  • @Scheduled注解: 声明定时任务

3.Scheduled参数

Scheduled参数

(1)cron

定义任务何时启动,一个字符串表达式,字符串以5或6个空格隔开,分开共6或7个域,每一个域代表一个含义。

  • cron 表达式语法

格式:[秒] [分] [小时] [日] [月] [周] [年]

序号说明是否必填特殊字符
10-59, - * /
20-59, - * /
30-23, - * /
41-31, - * ? / L W
51-12 or JAN-DEC, - * /
51-7 or SUN-SAT, - * ? / L #
5empty 或 1970-2099, - * /
  • 特殊字符说明:
序号字符说明
1 ∗ \color{red} {*} 占位符,表示所有值。每分、每秒
2 ? \color{red} {?} ?仅用于,表示不指定值。
3 − \color{red} {-} 表示区间。几分至几分都会执行任务
4 , \color{red} {,} ,表示指定多个值。第几分,第几分会执行任务
5 / \color{red} {/} /表示递增触发从x秒开始,每增x秒触发
6 L \color{red} {L} L表示最后的意思。
7 W \color{red} {W} W表示离指定日期的最近那个工作日(周一至周五). 例如在日字段上设置"15W",表示离每月15号最近的那个工作日触发
8 # \color{red} {\#} #序号(表示每月的第几个周几)
(2)zone

时区,接收一个 java.util.TimeZone#ID。cron表达式会基于该时区解析。默认是一个空字符串,即取服务器所在地的时区。比如我们一般使用的时区Asia/Shanghai。一般留空。

(3)fixedDelay

上一次执行完毕时间点之后多长时间再执行,数值,单位秒。

(4)fixedDelayString

上一次执行完毕时间点之后多长时间再执行,字符串,单位秒,支持占位符。

(5)fixedRate

上一次开始执行时间点之后多长时间再执行,数值,单位秒。

(6)fixedRateString

上一次开始执行时间点之后多长时间再执行,字符串,单位秒,支持占位符。

(7)initialDelay

第一次延迟多长时间后再执行,数值,单位秒。

(8)initialDelayString

第一次延迟多长时间后再执行,字符串,单位秒,支持占位符。

相关资源:SpringBoot Scheduled 详解

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值