• Spring定时器@Scheduled


    目录

    一、@Scheduled基本信息

    二、@Scheduled基本使用方法

    三、实际应用


    一、@Scheduled基本信息

    @Scheduled注解是spring boot提供的⽤于定时任务控制的注解,主要⽤于控制任务在某个指定时间执⾏,或者每隔⼀段时间执⾏。

    注意需要配合@EnableScheduling使⽤,定时任务需要在配置类上添加@EnableScheduling,表示对定时任务的支持;在对应执行任务的方法上添加@Scheduled,声明需要执行定时任务的方法。

    二、@Scheduled基本使用方法

    配置@Scheduled主要有三种配置执⾏时间的⽅式:cron,fixedRate,fixedDelay

    @Scheduled注解中包含以下几个参数:

    1)cron是设置定时执行的表达式,如:

    @Scheduled(cron = "0 0 6,18 * * ? ")  //每天6点和18点调用一次

    @Scheduled(cron = "0 0/59 * * * ?")//每小时执行一次

    2)zone表示执行时间时区

    3)fixedDelay 和fixedDelayString 表示固定延迟时间,上个任务完成后,延迟多长时间执行

    如:@Scheduled(fixedDelay = 10000) //任务会在上个任务完成后经过10s再执行

    @Scheduled(fixedDelay = 3600000) //任务会在上个任务完成后一小时再执行

    fixedDelayString    同fixedDelay ,时间值是String类型

    值可以从配置文件获得

    如:@Scheduled(fixedDelayString = "${fixedDelayString}")

    4)fixedRate 和fixedRateString表示固定频率,上个任务开始后,多长时间后开始执行

    如:@Scheduled(fixedRate = 1000 * 60) //按照一定频率执行任务,每隔1分钟执行一次

    fixedRateString  同fixedRate ,时间值是String类型

    值可以从配置文件获得

    如:@Scheduled(fixedRateString = "${fixedRateString}")

    5)initialDelay 和initialDelayString表示初始延迟时间,第一次被调用前延迟的时间

    如:@Scheduled(initialDelay = 10000,fixedRate = 15000)//在容器启动后,延迟10秒后再执行一次定时器,以后每15秒再执行一次该定时器。

    三、实际应用

    项目启动执行定时任务可以用@PostConstruct注解,放在要执行的方法上

    @Scheduled(cron = “0 */30 * * * ?”) //每30分钟执行一次
    @PostConstruct //启动项目先执行
    public void scheduled() {

    }

  • 相关阅读:
    交换机和路由器技术-20-动态路由协议
    JSON模块
    【Linux】POSIX信号量
    NFTScan 正式上线 TON NFTScan 浏览器!
    web课程设计网页规划与设计 :DW旅游主题网页设计——凤阳智慧旅游官方-地方旅游网站模板html源码HTML+CSS+JavaScript
    并发原子类
    SpringMVC常用注解介绍及参数传递说明
    死磕solidity之编写可升级合约
    干货分享|使用 Istio 实现灰度发布
    后缀表达式的转换(栈的运用)
  • 原文地址:https://blog.csdn.net/weixin_40052304/article/details/124736322