码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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() {
    …
    }

  • 相关阅读:
    2022最新 Netty底层数据交互源码剖析二
    【Node.js项目】大事件项目:后台架构图(含具体技术栈)、典型代码
    CSS 创建
    算法leetcode|18. 四数之和(rust重拳出击)
    【深度学习】CycleGAN开源项目学习笔记 | 完整流程 | 报错总结 | pytorch
    仅3w报价B站up主竟带来1200w播放!品牌高性价比B站投放标杆!
    SpringBoot-容器功能
    Android AMS——创建APP进程(五)
    SQL 教程之为什么 SQL 正在击败 NoSQL,以及这对数据的未来意味着什么
    北斗GPS卫星时钟同步服务器在银行数据机房应用
  • 原文地址:https://blog.csdn.net/weixin_40052304/article/details/124736322
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号