乐趣区

Spring Boot创建定时任务

项目中经常要用到定时任务,比如发邮件短信、清理缓存等等 spingboot 创建定时任务非常简单,只需要几个注解就可以。下面我给一个定时清理缓存的任务,测试程序缓存功能的时候经常要用到。
1、启动定时任务配置
只需要在 Application 上加上 @EnableScheduling 注解,@EnableCaching 是启动缓存配置的
2、创建需要定时执行的方法在方法上加上注解 @Scheduled(fixedRate=10000),下图是一个定时清理缓存的方法每 10s 执行一次:
执行结果:

参加 spring 官方案例:https://spring.io/guides/gs/s…3、@Scheduled 注解参数:

@Scheduled(fixedRate = 5000):上一次开始执行时间点之后 5 秒再执行

@Scheduled(fixedDelay = 5000):上一次执行完毕时间点之后 5 秒再执行
* 这个与 fixedRate 区别在于,可以保证任务不会重叠执行,*
*fixedRate=5000 表示每 5s 中启动任务,如果任务执行时间超过了 5s 中那么就会有多个任务同时执行。*
*fixedDelay=5000s 会等带上个任务执行完毕才执行,*

@Scheduled(initialDelay=1000, fixedRate=5000):第一次延迟 1 秒后执行,之后按 fixedRate 的规则每 5 秒执行一次

@Scheduled(cron=”*/5 * * * * *”):通过 cron 表达式定义规则

详细请看官方文档:

退出移动版