繁体   English   中英

在 @PostConstruct 不触发 ContextClosedEvent 时睡觉

[英]sleeping while @PostConstruct does not trigger ContextClosedEvent

从 Spring @Component@PostConstruct ,如果主线程进入睡眠状态,例如 30 秒。

在这两者之间,通过运行kill <pid>触发 SIGTERM

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

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

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

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

换句话说,由于 Spring 仍在初始化过程中,它可能甚至还没有到 if 注册关闭钩子的初始化过程的步骤,因此它甚至从未通知有关 SIGTERM

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM