Spring Task 定时任务框架

Spring Task

Spring Task 是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑。

定位:定时任务框架

作用:定时自动执行某段Java代码

 Spring Task使用步骤

1). 导入maven坐标 spring-context(已存在)springboot框架中已经集成

2). 启动类添加注解 @EnableScheduling 开启任务调度

3). 自定义定时任务类

cron表达式

cron表达式其实就是一个字符串,通过cron表达式可以定义任务触发的时间

构成规则:分为6或7个域,由空格分隔开,每个域代表一个含义

每个域的含义分别为:秒、分钟、小时、日、月、周、年(可选)

日和周一般不同时设置

通过网站生成cron表达式cron表达式在线生成器

通配符:

\* 表示所有值; 

? 表示未说明的值,即不关心它为何值; 

\- 表示一个指定的范围; 

, 表示附加一个可能值; 

/ 符号前表示开始时间,符号后表示每次递增的值;

**cron表达式案例:**

*/5 * * * * ? 每隔5秒执行一次

0 */1 * * * ? 每隔1分钟执行一次

0 0 5-15 * * ? 每天5-15点整点触发

0 0/3 * * * ? 每三分钟触发一次

0 0-5 14 * * ? 在每天下午2点到下午2:05期间的每1分钟触发 

0 0/5 14 * * ? 在每天下午2点到下午2:55期间的每5分钟触发

0 0/5 14,18 * * ? 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发

0 0/30 9-17 * * ? 朝九晚五工作时间内每半小时

0 0 10,14,16 * * ? 每天上午10点,下午2点,4点 

在启动类上加上注解开启任务调度

 编写定时任务类

package com.sky.task;

import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * 自定义定时任务类
 */
@Component
@Slf4j
public class MyTask {

    /**
     * 定时任务 每隔5秒触发一次
     */
    @Scheduled(cron = "0/5 * * * * ?")
    public void executeTask(){
        log.info("定时任务开始执行:{}",new Date());
    }
}

这样就会按照自己设定的时间自动执行

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Linux | 编程实践】防火墙 (网络无法访问)解决方案 Vim常用快捷键命令

🤵‍♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…

可用的镜像 yum 源

目录 ftp.sjtu.edu.cn 镜像 yum 源centos 的镜像 yum 源 mirrors.sohu.comcentos 的镜像 yum 源 mirrors.163.comcentos 的镜像 yum 源 ftp.sjtu.edu.cn 镜像 yum 源 镜像 yum 源地址 : http://ftp.sjtu.edu.cn/centos/ centos 的镜像 yum 源 http://ftp.sjtu.edu…

【开源】基于Vue.js的假日旅社管理系统

文末获取源码,项目编号: S 078 。 \color{red}{文末获取源码,项目编号:S078。} 文末获取源码,项目编号:S078。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统介绍2.2 QA 问答 三、系统展示四…

P8 删除链表指定节点

前言 🎬 个人主页:ChenPi 🐻推荐专栏1: 《C_ChenPi的博客-CSDN博客》✨✨✨ 🔥 推荐专栏2: 《Linux C应用编程(概念类)_ChenPi的博客-CSDN博客》✨✨✨ &#x1f4…

【眼界 | 每日技术】日常生活中的那些技术,增长眼界系列(一)

🤵‍♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…

腾讯云双十二优惠活动有哪些?详细攻略来了!

腾讯云作为全球领先的云计算服务提供商,一直在为各行各业的用户提供优质、高效、稳定的云计算服务。双十二即将来临,腾讯云也为大家准备了一系列丰富多彩的优惠活动。那么,这些优惠活动究竟有哪些?详细攻略在此,一起来…

电源需要考虑的因素

做产品的都离不开电源,产品出问题也首先检查供电是否正常。今天给大家分享的是做好一个电源需要考虑哪些因素。 一. 描述输入电压影响输出电压几个指标形式 1. 稳压系数 A.稳压系数:表示负载不变时,稳压电源…

正运动技术EtherCAT扩展模块接线参考以及使用流程

本文以正运动扩展模块EIO16084为例 一、EtherCAT扩展模块接线参考 EIO16084数字量扩展模块为单电源供电,主电源就可以给IO供电,主电源采用24V直流电源。 EIO16084扩展模块在扩展接线完成后,不需要进行进行二次开发,只需手动在E…

用CHAT如何写教研室工作总结?

问CHAT:写一份教研室工作总结 CHAT回复:以下是一个教研室工作总结的大纳,具体内容需要根据你们教研室的实际情况进行填充和修改。 教研室XXXX年度工作总结 1. 引言:简要介绍本年度工作总结的目的和主题。 2. 教育教学工作&…

第一节:安装

Node.js 命令行的TypeScript编译器可以使用Node.js包来安装。 安装 npm install -g typescript 编译 tsc helloworld.ts 由于无法直接运行TypeScript ,所以会将 ts文件 转换成 js文件, 生成一个 js 的文件; 也可以安装 ts-node ,他是封…

树_左叶子之和

//给定二叉树的根节点 root ,返回所有左叶子之和。 // // // // 示例 1: // // // // //输入: root [3,9,20,null,null,15,7] //输出: 24 //解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 //…

vue3中使用全局事件总线通信

全局事件总线通信可以用于多个组件之前相互通信,包括但不限于父子、兄弟组件间通信。 注意1:emit分发和on接收 需要在onMounted或之后的生命周期执行,否则无效。 注意2:刷新页面后,已更新的数据将回到初始值。 .emit(事件名, 参…

操作系统·虚拟存储器

局部性原理:时间、空间的局部性 虚拟存储器的原理: 只将当前执行需要的部分页或段读入到内存,让程序开始执行。 执行过程中,如果需执行的指令或访问的数据未在内存(称为缺页或缺段),则由处理器…

Java中实用的策略模式【Strategy】

一、简介 我们知道Java中有许多的设计模式,总共32个左右。常见的比如简单工厂、建造者、原型、代理、桥接等,这些设计模式相当于是一个规范,主要是总结出来便于大家理解开发的一种算法思路。 今天主要是给大家介绍一下我们常见的策略模式&a…

向库存抢利润!DigiOS微服务“库存中心”能力解读

作者:徐礼昭(商派市场负责人,重构零售实验室负责人) 同一件SKU,在不同渠道往往会出现“超卖”和“滞销”两种截然不同的情况。如何及时合理的调拨库存,实现产品的最大化销售(降低库存成本&#…

智能优化算法应用:基于动物迁徙算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于动物迁徙算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于动物迁徙算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.动物迁徙算法4.实验参数设定5.算法结果6.参考…

揭秘强化学习:Python 实践指南

一、说明 强化学习 (RL) 是机器学习和人工智能 (AI) 的一个子领域,专注于开发能够通过与环境交互进行学习的智能代理。与传统的监督和无监督学习不同,强化学习主要关注动态、顺序环境中的决策。它在人工智能中具有重要意义,特别是在自主代理必…

EasyRecovery14破解版官方软件安装包下载

Ontrack EasyRecovery 是一款功能强大的数据恢复软件,它可以帮助用户从各种存储设备中恢复丢失或删除的数据。它支持多种文件系统和文件类型,可以恢复包括照片、视频、音频、文档、电子邮件和归档文件等不同类型的数据。 Ontrack EasyRecovery 是一款非常…

基于Arduino的音乐喷泉设计(论文+源码)

1.系统设计 整个Audio Visualizer系统通过锂电池电源进行供电,当Arduino控制板通过蓝牙音频接收器模块与手机蓝牙完成匹配后,然后通过蓝牙音频接收器模块接收来自手机的音乐,接着通过对音乐进行FFT变换来得到音乐的频率数据,接着…

Java——》JSONObjet 数据顺序

推荐链接: 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…