spring boot 关闭定时任务
时间: 2023-05-08 17:58:37 浏览: 337
Spring Boot 通过web开启和关闭定时任务
Spring Boot中的定时任务是通过使用@Scheduled注解来注册的。如果想要关闭定时任务,可以使用两种方法。
第一种方法是使用@Scheduled注解的fixedRate属性来设置定时任务的时间间隔,然后在程序运行时动态修改这个属性的值来关闭定时任务。例如,将fixedRate属性的值设置为一个非常大的数,表示任务不会再执行。
第二种方法是使用@EnableScheduling注解来开启定时任务,并在需要关闭任务时调用ScheduledTaskRegistrar对象的destroy()方法来摧毁定时任务。示例代码如下:
@GetMapping("/stopTask")
public void stopTask() {
List<ScheduledTask> scheduledTasks = taskRegistrar.getScheduledTasks();
for (ScheduledTask scheduledTask : scheduledTasks) {
scheduledTask.cancel();
}
taskRegistrar.destroy();
}
通过以上两种方法,可以很方便地关闭Spring Boot中的定时任务。
阅读全文