前言
需要实现一个动态改变cron表达式的定时器任务。
我们知道Spring Boot要使用定时任务,就要在启动类上加上@EnableScheduling
注解,并且在某个方法上加上@Scheduled(cron = “0 0 1 * * ?”)
这种普通的方式,注解中的cron
是没办法改变的,不能自定义动态的。即使当你强行去定义一个cron
变量时,也会提醒你需要用final static
修饰。
但Spring提供了一个接口:SchedulingConfigurer
,实现接口重写方法就可以动态配置cron
。
代码
import org.springframework.scheduling.Trigger;
import org.springframework.scheduling.TriggerContext;
import org.springframework.scheduling.annotation.SchedulingConfigurer;
import org.springframework.scheduling.config