java:springBoot使用@Scheduled注解配置定时任务

yumo6662周前 (09-01)技术文章12

定时任务的实现有多种,其中一种就是使用Spring提供的注解: @Schedule 。

下面举个简单的例子

1、先在springboot的入口处添加@EnableScheduling这个注解


2、总开关添加好后,我们只需要对需要定时方法进行配置即可,使用注解@Scheduled(cron = "0/2 * * * * *") 后面为Cron表达式。表示每2秒执行一次。


此时,就已经好了


最后,介绍下 cron的表达式如下(百度的= =勿喷)

●星号(*):可用在所有字段中,表示对应时间域的每一个时刻,例如,*在分钟字段时,表示“每分钟”;

●问号(?):该字符只在日期和星期字段中使用,它通常指定为“无意义的值”,相当于点位符;

●减号(-):表达一个范围,如在小时字段中使用“10-12”,则表示从10到12点,即10,11,12;

●逗号(,):表达一个列表值,如在星期字段中使用“MON,WED,FRI”,则表示星期一,星期三和星期五;

●斜杠(/):x/y表达一个等步长序列,x为起始值,y为增量步长值。如在分钟字段中使用0/15,则表示为0,15,30和45分钟

下面给出一些完整的Cron表示式的实例:

CRON表达式 含义

"0 0 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分每分钟一次触发

"0 0/5 14 * * ?" 每天从下午2点开始到2:55分结束每5分钟一次触发

"0 0/5 14,18 * * ?" 每天的下午2点至2:55和6点至6点55分两个时间段内每5分钟一次触发

"0 0-5 14 * * ?" 每天14:00至14:05每分钟一次触发

"0 10,44 14 ? 3 WED" 三月的每周三的14:10和14:44触发

"0 15 10 ? * MON-FRI" 每个周一、周二、周三、周四、周五的10:15触发

相关文章

C#实现定时器的几种方案_c定时器的使用

前几天写了一篇java的定时器方案,应小伙伴的要求,今天这里一下c#实现定时器的方案。 在C#里关于定时器类就有三个1、System.Windows.Forms.Timer2、System.Threa...

重写Spring Boot定时任务,支持可动态调整执行时间

Spring Boot应该是目前最火的java开源框架了,它简化了我们创建一个web服务的过程,让我们可以在很短时间、基本零配置就可以启动一个web服务。定时任务在我们平常的业务开发用的非常多,Spr...

Spring Boot 异步任务进阶实战:异常、定时与事务兼容

在 Spring Boot 开发中,异步任务是提升系统响应速度的关键手段,但实战中异常隐匿、定时调度、事务冲突三大坑常让开发者头疼。本文结合真实业务场景,拆解这三大问题的解决方案,帮你打造稳定灵活的异...

Java面试必备!RabbitMQ 常用知识点总结,纯手绘23张图带你拿下

思维导航:基础为什么使用 MQ?MQ缺点几种 MQ 实现总结完整架构图RabbitMQ 六种工作模式1、Simple 简单模式2、work 工作模式3、publish/subscribe 发布订阅模式...

Java线程池的四种用法与使用场景_java线程池示例

来源公众号一个程序员的成长 , 作者小涛 一、如下方式存在的问题new Thread() { @Override public void run() { // 业务逻辑 } }.start()...