跳到主要内容
版本:4.0.2

Graceful Shutdown

QWen Max 中英对照 Graceful Shutdown

优雅关闭(Graceful shutdown)默认对所有三种嵌入式 Web 服务器(Jetty、Reactor Netty 和 Tomcat)以及响应式和基于 Servlet 的 Web 应用程序均启用。它作为关闭应用上下文的一部分,在停止 SmartLifecycle Bean 的最早阶段执行。此停止处理使用一个超时时间,该超时提供了一个宽限期,在此期间允许现有请求完成,但不允许新请求进入。

要配置超时时间,请配置 spring.lifecycle.timeout-per-shutdown-phase 属性,如下例所示:

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

如果你的 IDE 没有发送正确的 SIGTERM 信号,其关闭操作可能是立即的而非优雅的。更多详情请参阅你所使用 IDE 的文档。

在优雅停机宽限期内拒绝请求

新请求被拒绝的具体方式取决于所使用的 Web 服务器。实现方式可能是在网络层停止接受请求,也可能返回一个带有特定 HTTP 状态码或 HTTP 头的响应。持久连接的使用也会影响请求停止被接受的方式。

提示

Jetty、Reactor Netty 和 Tomcat 将在网络层停止接受新请求。

禁用优雅关闭

要禁用优雅关闭,请配置 server.shutdown 属性,如下例所示:

server.shutdown=immediate