繁体   English   中英

spring-boot 优雅关机

[英]spring-boot graceful shutdown

有没有办法在 spring boot 中控制应用程序的正常关闭。

我知道您可以在 bean 中使用 @PreDestroy 方法,但是您如何控制调用这些 @PreDestroy 方法的顺序。

您可以拥有多个相互依赖的 bean,上下文的关闭是否已经查找此依赖项并以正确的顺序调用 @PreDestroy 方法?

例如我想完成的是:

1.) 停止侦听其余端点上的新请求

2.) 防止兔子消息侦听器接受新消息

3.) 等待所有在关机前已经开始但尚未完成的处理。

Spring-boot-2-3-0添加了对正常关机的支持。

您可以通过设置server.shutdown=graceful属性来启用正常关闭

要配置您可以使用的超时期限

spring.lifecycle.timeout-per-shutdown-phase=20s

弹簧引导文档

如果您无法升级到 spring boot 2.3,那么您可以查看以下项目

https://github.com/gesellix/graceful-shutdown-spring-boot

暂无
暂无

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

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