所有四个嵌入式Web服务器(Jetty,Reactor Netty,Tomcat和Undertow)以及响应式和基于Servlet的Web应用程序都支持正常关机。它是关闭应用程序上下文的一部分,并且在停止SmartLifecycle
bean的最早阶段执行。此停止处理使用一个超时,该超时提供一个宽限期,在此宽限期内,现有请求将被允许完成,而新请求将不被允许。不允许新请求的确切方式因所使用的Web服务器而异。Jetty,Reactor Netty和Tomcat将停止在网络层接受请求。Undertow将接受请求,但会立即以服务不可用(503)响应进行响应。
使用Tomcat正常关机需要Tomcat 9.0.33或更高版本。 | |
---|---|
要启用正常关机,请配置server.shutdown
属性,如以下示例所示:
物产
Yaml
server.shutdown=graceful
要配置超时时间,请配置spring.lifecycle.timeout-per-shutdown-phase
属性,如以下示例所示:
物产
Yaml
spring.lifecycle.timeout-per-shutdown-phase=20s
如果您的IDE无法正常发送SIGTERM 信号,则可能无法正常运行。有关更多详细信息,请参阅IDE的文档。 |
|
---|---|