SpringBoot定时任务功能

项目开发经常需要异步处理一些业务,这时候我们经常会用到定时任务。Spring 提供了@Scheduled注解,开发者只需简单配置即可使用。

一、开启功能

启动类添加注解@EnableScheduling,表示开启定时任务 image.png

二、指定执行逻辑

在需要定时执行的方法上加上注解@Scheduled,方法所在的类需要加上@Component,如下所示 image.png

@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表达式生成工具

Cron表达式工具:www.pppet.net/

Guess you like

Origin juejin.im/post/7032164792030724104