[英]sleeping while @PostConstruct does not trigger ContextClosedEvent
从 Spring @Component
, @PostConstruct
,如果主线程进入睡眠状态,例如 30 秒。
在这两者之间,通过运行kill <pid>
触发 SIGTERM
但在这种情况下,@ EventListener
和ContextClosedEvent
上的@PreDestroy
都不会被触发。
我们可以监听哪个核心 Spring 事件,例如当 bean 从PostConstruct
休眠并且 SIGTERM 发送到 spring 启动应用程序时?
根据评论之一,问题是@PostConstruct
中的逻辑太多
所以您的问题实际上是您在@PostConstruct 中执行了太多工作
换句话说,由于 Spring 仍在初始化过程中,它可能甚至还没有到 if 注册关闭钩子的初始化过程的步骤,因此它甚至从未通知有关 SIGTERM
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.