首页 > 解决方案 > Spring Boot @Scheduled 与 @PreDestory 方法

问题描述

我有一个看起来像这样的组件:

@Component
public class ExampleComponent {

  @Scheduled(fixedRate = 1)
  public void scheduledTask() {
    // process
  }

  @PreDestroy
  public void shutdown() {
    // shutdown
  }
}

我想在应用程序关闭时执行一些代码。但是,该shutdown方法在@Scheduled任务完成之前被调用。如何shutdown等待该@Scheduled方法完成,或者如何让它终止它?

我尝试添加这些配置但没有运气:

spring:
  task:
    scheduling:
      shutdown:
        await-termination: true
        await-termination-period: 30S
    execution:
      shutdown:
        await-termination: true
        await-termination-period: 30S

标签: spring-bootspring-scheduled

解决方案


推荐阅读