Spring Boot中使用定时任务schedule

SpringBoot系列:Spring Boot定时任务Spring Schedule 既然选择这个行业,选择了做一个程序员,也就明白只有不断学习,积累实战经验才有资格往上走,拿高薪,为自己,为父母,为以后的家能有一定的经济保障。学习时间都是自己挤出来的,短时间或许很难看到效果,一旦坚持下来了,必然会有所改变。不如好好想想自己为什么想进入这个行业,给自己内心一个答案。面试大厂,最重要的就是夯实的基础,不然面试官随便一问你就凉了;其次会问一些技术原理,还会看你对知识掌握的广度,最重要的还是你的思路,这是面试官比较看重的。 阅读详情

1、在spring启动类上添加注解@EnableScheduling

在这里插入图片描述

package com.example.springcrontab;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;

@EnableScheduling
@SpringBootApplication
public class SpringCrontabApplication {

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

}

2、创建定时任务配置类

在这里插入图片描述

package com.example.springcrontab.config;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @PACKAGE_NAME: com.example.springcrontab.config
 * @NAME: CrontabConfig
 * @USER: MrWang
 * @DATE: 2022/4/11
 **/
@Component
public class CrontabConfig {

    public int a = 0;

    @Scheduled(cron = "*/5 * * * * ?")//设置定时任务执行时间每5秒执行一次
    //@Scheduled注解用来设置定时任务执行时间
    public void crontabDemo(){
        a+=100;
        SimpleDateFormat sm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String date = sm.format(new Date());
        System.out.println("时间:"+date+"   "+a);
    }

}

3、执行案例结果

在这里插入图片描述

4、corn表达式基本语法

	cron表达式由6-7个时间域组成,每个时间域之间用空格隔开。
	格式:
	<秒> <分> <时> <日期> <月> <星期> <年份>

秒:取值范围0-59
分:取值范围0-59
时:取值范围0-23
日期:每月的的几数,0-31
月:取值范围1-12,或英文简写JAN-DEC
星期:取值范围1~7(其中1从星期天开始) 或英文简写 SUN,MON,TUE,WED,THU,FRI,SAT
年份:可选,取值范围1970-2099

5、常用的定时任务执行表达式

0 0 2 1 * ? * 表示在每月的1日的凌晨2点调整任务
0 15 10 ? * MON-FRI 表示周一到周五每天上午10:15执行作业
0 15 10 ? 6L 2002-2006 表示2002-2006年的每个月的最后一个星期五上午10:15执行作
0 0 10,14,16 * * ? 每天上午10点,下午2点,4点
0 0/30 9-17 * * ? 朝九晚五工作时间内每半小时
0 0 12 ? * WED 表示每个星期三中午12点
0 0 12 * * ? 每天中午12点触发
0 15 10 ? * * 每天上午10:15触发
0 15 10 * * ? 每天上午10:15触发
0 15 10 * * ? * 每天上午10:15触发
0 15 10 * * ? 2005 2005年的每天上午10:15触发
0 * 14 * * ? 在每天下午2点到下午2:59期间的每1分钟触发
0 0/5 14 * * ? 在每天下午2点到下午2:55期间的每5分钟触发
0 0/5 14,18 * * ? 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
0 0-5 14 * * ? 在每天下午2点到下午2:05期间的每1分钟触发
0 10,44 14 ? 3 WED 每年三月的星期三的下午2:10和2:44触发
0 15 10 ? * MON-FRI 周一至周五的上午10:15触发
0 15 10 15 * ? 每月15日上午10:15触发
0 15 10 L * ? 每月最后一日的上午10:15触发
0 15 10 ? * 6L 每月的最后一个星期五上午10:15触发
0 15 10 ? * 6L 2002-2005 2002年至2005年的每月的最后一个星期五上午10:15触发
0 15 10 ? * 6#3 每月的第三个星期五上午10:15触发

Spring Boot实现定时任务调度 在业务系统中,定时任务是非常常见的需求,例如定时对订单状态进行更新、定时生成销售报表、自动化库存管理等。Spring Boot 提供了非常方便的定时任务调度功能,并且结合线程池技术,我们可以高效地执行多个定时任务,保证系统的扩展性和高可用性。本文将深入探讨如何使用 Spring Boot 实现定时任务调度,特别是结合线程池技术,确保多个任务能够并发安全地执行。此外,我们还将展示如何利用 cron 表达式灵活定义定时任务的触发时间,提供详细的示例以及电商交易系统中的实际应用。 阅读详情

相关推荐

玩转SpringBoot之定时任务详解

玩转SpringBoot之定时任务详解,

cron表达式常用例子

cron表达式常用例子 cron 表达式的写法老是记不住,当然也是我根本不想记得原因所致。 这里记录一下,有用到就来看一下 规则 cron(秒 分钟 小时 日 月 星期 年) cron 的表达式的例子 (1)0/2 * * * * ? 表示每2秒 执行任务 (2)0 0/2 * * * ? 表示每2分钟 执行任务 (3)0 0 2 1 * ? 表示在每月的1日的凌晨2点调整任务 (4...

Little_fxc的博客 4722

永磁同步电机定子槽型设计实战:从梨形槽到矩形槽的NVH优化之路

本文深入探讨了永磁同步电机定子槽型设计在NVH优化中的关键作用,对比了梨形槽与矩形槽的性能差异。通过Ansys Maxwell仿真和实际案例,揭示了矩形槽在提升槽满率、降低电磁噪声方面的优势,并总结了五大设计黄金法则,为电机设计工程师提供了实用指导。

weixin_28740299的博客 493

Linux cron定时任务常用方法

linux crontab常用定时任务表达式

大爱仙尊 106万+

我用 AI 做了个开源地图工具:从 OpenStreetMap 一键获取全国 AOI/POI 数据

本文介绍了一款免费开源的OSM数据查询与可视化工具,旨在解决Overpass QL语法晦涩、数据获取门槛高的问题。工具支持面数据(AOI)、点数据(POI)及路网三种查询模式,内置30+常用模板实现一键检索。具备高德与OSM双底图切换、坐标自动转换功能,支持GeoJSON、SHP、CSV多格式导出,同时保留自定义查询能力。作为纯HTML单文件应用,可零成本部署至GitHub Pages在线使用。该工具有效降低了地理数据获取难度,是替代商业地图API、高效提取全球开源地理信息的实用利器。

weixin_45812624的博客 585

Sentinel2 哨兵2数据下载方法(USGS)-史上最全讲解

本文讲述了从USGS官网下载Sentinel2的方法。主要包括USGS官网的注册和下载流程,以及选定研究区中所出现的问题、解决办法。

xiatiandexia123的博客 6万+

spring 常用cron

1.每小时执行一次 @Scheduled(cron = "0 0 */1 * * ?") 2.早上9点到下午17点,每小时执行一次 @Scheduled(cron = "0 0 9-17/1 * * ?")

zheng199172的博客 8195

MEMS传感器技术深度解析:从原理到未来趋势的全面指南(智能驾驶赛道有戏)

在智能汽车每秒产生1GB数据的今天,在可穿戴设备厚度突破1毫米的极限挑战下,MEMS(微机电系统)传感器正以的三大核心优势,重塑着人类感知世界的方式。作为从业10年的MEMS工程师,我见证了这个领域从实验室走向量产的完整历程——从2005年汽车安全气囊中笨重的压阻式加速度计,到2025年智能手机中集成5种传感器的SoC芯片,MEMS技术正在书写传感器行业的摩尔定律新篇章。本文将带您穿透技术迷雾,深入解析MEMS传感器的技术密码,涵盖,并附独家整理的与。文末更提供,助您把握万亿级市场机遇。

优快云-新能源汽车研发测试专业博主 2301

spring boot项目中处理Schedule定时任务

项目中,因为使用了第三方支付(支付宝和微信支付),支付完毕后,第三方支付平台一般会采用异步回调通知的方式,通知商户支付结果,然后商户根据通知内容,变更商户项目支付订单的状态。一般来说,为了防止商户项目自身因为一些特殊原因,比如正好当时网络状态不稳定,商户回调接口无法访问,或者商户回调接口出现异常。第三方支付平台,一般会发送多次请求来尽量确保通知到商户系统。 但是,总会有各种各样的情况,导致,第三...

跨链技术践行者 1万+

Python爬虫实战:基于Playwright与异步技术的专利数据抓取系统

专利数据是企业技术创新、市场竞争分析和行业趋势预测的关键情报来源。然而,专利数据通常分散在各个国家的专利局网站,数据结构复杂,反爬机制严格,使得高效抓取成为技术挑战。本文将详细介绍如何构建一个基于最新Python技术的专利数据抓取系统,涵盖Selenium的现代化替代方案Playwright、异步编程、智能代理轮换等高级技术。

2201_76125261的博客 1562

078、镜头阴影校正:LSC算法原理与标定优化

文章摘要 镜头阴影校正(LSC)是手机影像系统中的关键技术,用于解决镜头渐晕效应导致的画面边缘暗角问题。本文详细分析了LSC算法的核心原理,包括非均匀网格划分、双线性插值等关键技术点,并揭示了标定流程中的常见陷阱(光源均匀性、灰卡反射特性、温度漂移)。文章还深入探讨了增益计算的工程实现细节,以及实际调优中的关键考量因素(色差校正、动态场景适应等)。作者结合15年经验,给出了包括验证方法、网格参数设计、产线标定等实用性建议,强调LSC算法应与光学设计协同优化,才能达到最佳效果。

sundong_81的博客 42

定时任务schedule(spring boot )

定时任务schedule(spring boot ) 1. 定时任务实现方式:SpringBoot自带的Scheduled,可以将它看成一个轻量级的Quartz,而且使用起来比Quartz简单许多,本文主要介绍。 执行方式:单线程(串行)------------多个定时任务,一个跑完,其他的才能跑多线程(并行) 2. 创建定时任务 @Comp...

诸葛子房的博客 373

轨迹优化 | 图解欧氏距离场与梯度场算法(附ROS C++/Python实现)

距离场在运动规划中则常用于地图建模和轨迹梯度优化。本文图解欧氏距离场EDT的算法原理,并基于双线性插值给出欧氏梯度场的公式推导,并给出ROS C++和Python的算法实现加深理解

FRIGIDWINTER的博客 4646

Spring Boot使用Schedule实现定时任务

适用的工具是:Schedule 集成步骤: 1、开启Schedule支持 package com.jsoft.springboottest.springboottest1; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringB...

weixin_34356555的博客 104

【从零开始学习 UVM】1.1、UVM 概述 —— Preface

【从零开始学习 UVM】1.1、UVM 概述 —— Preface

努力,加油每一天鸭~ 825

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

推荐一款高效定时任务框架:Schedule-Spring-Boot-Starter

推荐一款高效定时任务框架:Schedule-Spring-Boot-Starter schedule-spring-boot-starter增强SpringBoot Schedule,开发中间件以zookeeper为注册中心扩展为分布式任务调度系统,接入方式接单易用,目前实现功能如下; 多机器部署任务 统一控制中心启停 宕机灾备,自动启动执行 实时检测任务执行信息:部署数量、任务总量、...

gitblog_00060的博客 567

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Spring Boot Schedule 定时任务

Spring Boot 定时任务,常用的几种任务调度

RobertChao的博客 610

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Spring boot自带定时任务Schedule

Spring boot创建定时任务步骤: 1、开启定时任务 SpringBoot为我们内置了@Scheduled定时任务,找到入口程序添加注解@EnableScheduling @SpringBootApplication @EnableScheduling public class Application { public static void main(String[] ar...

Four_Leaved_Clover的博客 644

Spring Boot (七):整合定时任务schedule

介绍 定时任务用于定时去执行某项操作,如:跑批数据,报表等。 一、配置文件 采用读取配置文件方式经行时间配置 application.properties corn=*/1 * * * * * 二、代码 启动类 package com.guo; import org.springframework.boot.SpringApplication; import org.springframewor...

西部落酋长的博客 439

php schedule 只执行一次_Spring Boot使用Schedule实现定时任务

0. 开发环境 IDE:IntelliJ IDEA 2017.1 x64 jdk:1.8.0_91 Spring Boot:2.1.1.RELEASE 1. 简单定时任务对于一些比较简单的定时任务,比如固定时间间隔执行固定方法,在标准Java方法上注解@Scheduled即可package cn.wbnull.springbootdemo.schedule; import cn.wbnull.s...

weixin_39887846的博客 390
上一篇: 解决2022/3/29出现的Spring漏洞问题
下一篇: JAVA集合的介绍及使用
ㅤㅤ 诚ㅤㅤ
博客等级 码龄8年 206粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值