使用SpringBoot中@Scheduled注解应用场景和示例代码

概述

@Scheduled注解可以应用在方法上,用于指定方法的执行时间。它有几种常见的用法,可以设置固定的时间间隔、固定的延迟时间、或者使用Cron表达式来定义更复杂的调度规则。

应用场景

  • 定时任务执行:例如每天凌晨执行数据备份。
  • 定时报表生成:例如每周五下午生成一份周报。
  • 定时数据同步:例如每隔一段时间同步远程数据。

示例代码

下面是一个简单的示例,展示如何在Spring Boot应用中使用@Scheduled注解创建定时任务。

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;@Component
public class ScheduledTasks {// 每隔固定时间执行,单位毫秒@Scheduled(fixedRate = 5000) // 每隔5秒执行一次public void fixedRateTask() {System.out.println("Fixed rate task - " + System.currentTimeMillis() / 1000);}// 固定延迟时间执行,单位毫秒@Scheduled(fixedDelay = 10000) // 上次执行完毕时间点后10秒再执行public void fixedDelayTask() {System.out.println("Fixed delay task - " + System.currentTimeMillis() / 1000);}// 使用Cron表达式执行,每天凌晨1点执行@Scheduled(cron = "0 0 1 * * ?")public void cronTask() {System.out.println("Cron task - " + System.currentTimeMillis() / 1000);}
}

详细解释

  • @Scheduled(fixedRate = 5000):这个方法会每隔5秒执行一次,不论方法执行多长时间。
  • @Scheduled(fixedDelay = 10000):这个方法会在上次方法执行完成后,延迟10秒后再次执行。
  • @Scheduled(cron = "0 0 1 * * ?"):这个方法会在每天凌晨1点钟执行,使用了一个Cron表达式来定义执行规则。

注意事项

  • @Scheduled注解的方法不能有返回值,它们通常是void类型的。
  • 如果一个任务执行时间超过了定时时间间隔,Spring会等待任务完成后再继续下一个任务的执行。
  • @Scheduled注解需要结合@EnableScheduling注解一起使用,以启用Spring的任务调度功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/49518.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Window部署Ollama+Qwen2.0+Open-WebUI

文章目录 Windows下安装Docker安装Docker检查是否安装成功, 出现版本即为安装成功安装Ollama启动 Ollama 并拉取模型(选做) 修改默认地址和端口(选做) Ollama 进行跨域配置安装open-webui Windows下安装Docker 准备条件 开启Hyper-V,在“启用或关闭Windows功能”里…

Java中的BigDecimal

BigDecimal 是 Java 中用于高精度计算的类,它主要用于处理非常大或非常精确的浮点数,特别是那些需要精确小数点的场景,比如金融计算。由于 float 和 double 类型在进行运算时可能会产生精度丢失的问题,BigDecimal 提供了一种解决方…

C语言 #指针数组 #数组指针 #数组参数、指针参数

文章目录 前言 一、指针数组 1、概念: 2、指针数组有什么用呢? 二、数组指针 1、数组指针的定义 2、数组名与 &数组名 的区别 3、数组指针如何初始化? 4、数组指针的用法 三、根据代码区分 指针数组 和 数组指针 四、数组参数、指针参数 …

软件-vscode-plantUML-drawio

文章目录 vscode基础命令 实操1. vscode实现springboot项目搭建 (包括spring data jpa和sqlLite连接) PlantUMLDrawio基础实操 vscode 基础 命令 启动mysql命令 docker run --name mysql-container -e MYSQL_ROOT_PASSWORD123456 -p 3306:3306 -d my…

Shell编程之正则表达式与文本三剑客

目录 一、正则表达式 1.引言--什么是正则表达式 1.1正则表达式的功能 2.基础正则表达式(BRE) 2.1特殊字符 2.2定位符 2.3非打印字符 3.扩展正则表达式(ERE) 4.元字符操作的案列 二、命令小工具 1.cut:列截取工具 2.sort排序 …

【Android】使用ViewPager2与TabLayout实现顶部导航栏+页面切换

【Android】使用ViewPager2与TabLayout实现顶部导航栏+页面切换 TabLayout与ViewPager2概述 TabLayout TabLayout 是 Android 支持库中的一个组件,它是 Design 支持库的一部分。TabLayout 提供了一个水平的标签页界面,允许用户在不同的视图…

解决Todesk远程连接没有接显示屏的服务器,出现黑屏现象

解决办法就是虚拟出来一个显示屏 通过终端安装虚拟显示器软件。 $ sudo apt-get install xserver-xorg-core-hwe-18.04 $ sudo apt-get install xserver-xorg-video-dummyubuntu20.04、 ubuntu22.04都适用 2. 添加配置文件 sudo vim /usr/share/X11/xorg.conf.d/xorg.conf…

TensorFlow 可用的植物分类模型有哪些,各有什么优缺点

在树莓派上运行CentOS 7,并使用TensorFlow Java版本实现植物分类功能可以通过以下步骤实现。以下是详细的指导: 一、安装和设置环境 1. 更新系统并安装基本工具 确保你的CentOS 7系统是最新的,并安装必要的工具: sudo yum update -y sudo yum install -y wget unzip gi…

CogVideo 实测,智谱「清影」AI视频生成,全民免费,连 API 都开放了!

不得不说,AI 视频生成界最近非常火热~ 前有快手「可灵」开放内测,一下子带火了老照片修复,全网刷屏: 怕是你还没拿到内测资格,被称为 “国货之光” 的「可灵」就结束了免费无限量模式。每天只有66点的免费额度&#x…

鸿蒙(API 12 Beta2版)【创建NDK工程】

创建NDK工程 下面通过DevEco Studio的NDK工程模板,来演示如何创建一个NDK工程。 说明 不同DevEco Studio版本的向导界面、模板默认参数等会有所不同,请根据实际工程需要,创建工程或修改工程参数。 通过如下两种方式,打开工程创…

2024-07-27 Unity Excel —— 使用 EPPlus 插件读取 Excel 文件

文章目录 1 前言2 项目地址3 使用方法3.1 写入 Excel3.2 读取 Excel3.3 读写 csv 文件 4 ExcelSheet 代码 1 前言 ​ 前几日,一直被如何在 Unity 中读取 Excel 的问题给困扰,网上搜索相关教程相对古老(4、5 年以前了)。之前想用 …

2024年最全网易大数据面试题及参考答案(3万字长文持续更新)

目录 如何评价新用户的留存指标有哪些? 游戏业务中有哪些常用指标? 怎么制定游戏业务的目标 游戏业务中哪三个业务最重要 数据分析指标的阈值怎么确定 怎么衡量你在业务部门的贡献 如何衡量一个活动的ROI 跟领导汇报游戏业务,你会选择哪5个指标,为什么 介绍一下Ha…

【openavis】明厨亮灶算法仓

明厨亮灶算法仓主要用于学校食堂,餐厅等饮食卫生安全监管场景,目前包含的算法如下: 算法类型 算法卡片 明厨亮灶算法仓 老鼠检测 垃圾桶未盖 厨师服检测 厨师帽检测 口罩检测 手套检测 动火离人 1. 算法规格介绍: 算…

基于STM32瑞士军刀--【FreeRTOS开发】学习笔记(一)|| RISC / 底层代码执行步骤 / 汇编指令

本篇文章基于韦东山老师讲课笔记和自己理解编写。 RISC ARM芯片属于精简指令集计算机(RISC:Reduced Instruction Set Computing),它所用的指令比较简单,有如下特点: ① 对内存只有读、写指令 ② 对于数据的运算是在CPU内部实现 …

【MySQL进阶之路 | 高级篇】MVCC解决读写问题

1. 什么是MVCC MVCC (Multiversion Concurrency Control),多版本并发控制。顾名思义,MVCC是通过数据行的多个版本管理来实现数据库的并发控制。这项技术使得在InnoDB的事务隔离级别下执行一致性读操作有了保证。换言之,就是为了查询一些正在…

你在找提升效率的解决方案还是追求效果的解决方案

企业在寻求“解决方案”时,最好先想清楚,你是想提升某项工作的效率,还是要改善某项工作的效果? 提升效率的解决方案主要是为了在保证质量的前提下提升某项确定工作的完成速度。以政务解决方案为例:当任何人都能通过移…

[C++] 小游戏 斗破苍穹2.12.2版本 zty出品

大家好&#xff0c;今天zty带来的是斗破苍穹的 2.12.2 版本&#xff0c;这个版本改进了许多皇冠竞技场的bug&#xff0c; 和一些文字仅存在一瞬间便消失了&#xff0c;废话不多说&#xff0c;请看code 先赞后看 养成习惯 CODE #include<stdio.h> #include<iostrea…

因即果,果即因

“有因才有果”、“先有因&#xff0c;后有果”&#xff0c;是人们通常的认知。 事实上有时可以理解为先有果再有因&#xff0c;为了某个果而造了某个因。 时间的方向可以理解为双向的——事情先发生了&#xff0c;然后给一个解释。 例如&#xff0c;某个人为了实现某个目标…

HAL STM32 SPI/ABZ/PWM方式读取MT6816磁编码器数据

HAL STM32 SPI/ABZ/PWM方式读取MT6816磁编码器数据 &#x1f4da;MT6816相关资料&#xff08;来自商家的相关资料&#xff09;&#xff1a; 资料&#xff1a;https://pan.baidu.com/s/1CAbdLBRi2dmL4D7cFve1XA?pwd8888 提取码&#xff1a;8888&#x1f4cd;驱动代码编写&…

某量JS逆向

https://chat.sensetime.com/wb/chat 目录 一、发起请求 二、观察发现只有入参 __data__ 进行了加密&#xff0c;返回是明文 三、 观察JS调用栈 四、从JS中搜索 __data__ 五、使用XHR对Ajax请求进行断点 六、再次发起请求就会断点拦住请求 七、对XHR入口分析 八、逐个…