SpringBoot定时任务功能(springboot动态定时任务配置)
项目开发经常需要异步处理一些业务,这时候我们经常会用到定时任务。Spring 提供了@Scheduled注解,开发者只需简单配置即可使用。
一、开启功能
启动类添加注解@EnableScheduling,表示开启定时任务
二、指定执行逻辑
在需要定时执行的方法上加上注解@Scheduled,方法所在的类需要加上@Component,如下所示
@Scheduled参数说明
参数 | 参数说明 | 示例 |
---|---|---|
cron | 任务执行的cron表达式 | 0/5 * * * * ? |
zone | cron表达时解析使用的时区,默认为服务器的本地时区,使用java.util.TimeZone#getTimeZone(String)方法解析 | GMT-8:00 |
fixedDelay | 上一次任务执行结束到下一次执行开始的间隔时间,单位为ms | 3000 |
fixedDelayString | 上一次任务执行结束到下一次执行开始的间隔时间,使用java.time.Duration#parse解析 | PT15M |
fixedRate | 以固定间隔执行任务,即上一次任务执行开始到下一次执行开始的间隔时间,单位为ms,若在调度任务执行时,上一次任务还未执行完毕,会加入worker队列,等待上一次执行完成后立即执行下一次任务 | 5000 |
fixedRateString | 与fixedRate逻辑一致,只是使用java.time.Duration#parse解析 | PT15M |
initialDelay | 首次任务执行的延迟时间 | 10000 |
initialDelayString | 首次任务执行的延迟时间,使用java.time.Duration#parse解析 | PT15M |
三、启动
启动项目后,方法就能定时执行
四、cron表达式生成工具
作者:风光锂储
链接:https://juejin.cn/post/7032164792030724104