如需获取最新稳定版本,请使用 Spring Boot 4.0.4spring-doc.cadn.net.cn

优雅停机

默认情况下,所有四种嵌入式 Web 服务器(Jetty、Reactor Netty、Tomcat 和 Undertow)以及基于响应式和基于 Servlet 的 Web 应用程序均启用了优雅关闭功能。 该功能作为应用上下文关闭过程的一部分执行,并在停止 SmartLifecycle 类型 Bean 的最早阶段进行。 此停止处理使用一个超时机制,提供一段宽限期:在此期间,已存在的请求可继续完成,但不允许接受新的请求。spring-doc.cadn.net.cn

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

spring.lifecycle.timeout-per-shutdown-phase=20s
spring:
  lifecycle:
    timeout-per-shutdown-phase: "20s"
如果您的集成开发环境(IDE)未发送正确的 SIGTERM 信号,则其中的关闭操作可能是立即终止,而非优雅关闭。 有关更多详细信息,请参阅您所用 IDE 的相关文档。

在宽限期拒绝请求

新请求被拒绝的确切方式取决于所使用的Web服务器。 实现方式可能是在网络层停止接受请求,也可能返回带有特定HTTP状态码或HTTP头的响应。 持久连接的使用还可能改变请求被拒绝的方式。spring-doc.cadn.net.cn

Jetty、Reactor Netty 和 Tomcat 将在网络层停止接受新请求。 Undertow 将继续接受新连接,但会立即返回服务不可用(503)响应。spring-doc.cadn.net.cn

禁用优雅关闭

要禁用优雅关闭,请配置 server.shutdown 属性,如下例所示:spring-doc.cadn.net.cn

server.shutdown=immediate
server:
  shutdown: "immediate"