SpringBoot中的定时任务

本文详细介绍了如何在SpringBoot中配置和使用定时任务,包括基于注解的静态定时任务、动态定时任务以及多线程定时任务。通过示例代码展示了如何设置执行周期,以及如何通过接口动态获取执行周期,实现任务的实时生效。
摘要由CSDN通过智能技术生成

特别说明:SpringBoot 中创建一个定时任务,这个时候千万呀明白一个概念,在springBoot中的定时任务本身属于一个service如果要用到SpringBoot中的注解的话只能引入Mapper。

1、springboot 的定时任务:
 一、静态:基于注解(@Scheduled)
 二、动态:基于接口(SchedulingConfigurer)
 三、多线程定时任务


一、基于注解:
说明:基于注解@Scheduled默认为单线程,开启多个任务时,任务的执行时机会受上一个任务执行时间的影响。

1、创建定时器
使用springBoot  基于注解来创建定时任务非常简单,
@Component
@Configuration //1、主要用于标记配置类,兼备Component的效果
@EnableScheuling  //2、开启定时任务

public  class StaticSecheduleTask{
    
    //添加定时任务
    @Scheduled(cron ="0/5 * * * * ?")
    //或者直接指定时间间隔,例如5秒
     //@Scheduled(fixedRate=5000)
      private void configureTasks() {
        System.err.println("执行静态定时任务时间: " + LocalDateTime.now());
    }
}
Cron表达式参数分别表示:

秒(0~59) 例如0/5表示每5秒
分(0~59)
时(0~23)
日(0~31)的某天,需计算
月(0~11)
周几( 可填1-7 或 SUN/MON/TUE/WED/THU/FRI/SAT)
@Scheduled:除了支持灵活的参数表达式cron之外,还支持简单的延时操作,例如 fixedDelay ,fixedRate 填写相应的毫秒数即可。

说明;使用@Scheduled 注解很方便,但缺点是当我们调整了执行周期的时候,需要重启应用才能生效,这多少有些不

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值