springboot schedule动态开启关闭
时间: 2023-09-15 13:17:53 浏览: 104
可以使用SpringBoot的@Scheduled注解和动态开关来实现动态开启和关闭定时任务。
首先,在定时任务类上添加@ConditionalOnProperty注解,用于判断是否开启定时任务。例如:
```java
@Component
@ConditionalOnProperty(name = "schedule.enabled", havingValue = "true")
public class MyScheduledTask {
//...
}
```
这里的schedule.enabled是一个自定义配置属性,用于控制是否开启定时任务。
然后,在定时任务类中使用@Scheduled注解来定义定时任务的执行时间。例如:
```java
@Component
@ConditionalOnProperty(name = "schedule.enabled", havingValue = "true")
public class MyScheduledTask {
@Scheduled(cron = "0 0/5 * * * ?")
public void doTask() {
//...
}
}
```
这里的cron表达式表示每隔5分钟执行一次定时任务。
最后,在配置文件中设置schedule.enabled的值来控制定时任务的开启和关闭。例如:
```properties
schedule.enabled=true # 开启定时任务
```
```properties
schedule.enabled=false # 关闭定时任务
```
这样就可以通过配置文件来动态控制定时任务的开启和关闭了。
阅读全文