@PostConstruct不会触发ContextClosedEvent时休眠

时间:2019-11-13 08:51:04

标签: java spring spring-boot

如果主线程进入睡眠状态(例如30秒),则从弹簧@Component@PostConstruct开始。

之间,通过运行kill <pid>

触发SIGTERM

但是在这种情况下,@PreDestroy上的EventListenerContextClosedEvent都不会触发。

例如,当bean从PostConstruct休眠并将SIGTERM发送到Spring Boot应用程序时,我们可以监听哪个核心Spring事件?

1 个答案:

答案 0 :(得分:0)

根据评论之一,问题@PostConstruct中的逻辑太多

  

所以您的问题实际上是您在@PostConstruct中执行过多的工作

     

用另一种方式说,由于Spring仍在进行初始化,因此它甚至可能还没有进入初始化过程,如果要注册关闭钩子,那么就永远不会收到有关SIGTERM的通知