优雅关机
优雅关机默认启用于所有四个嵌入式Web服务器(Jetty、Reactor Netty和Tomcat),以及响应式和基于servlet的Web应用中。
它作为关闭应用上下文的一部分出现,并在停止的最早阶段执行SmartLifecycle豆。
该停止处理使用超时,提供宽限期,允许现有请求完成,但不允许新请求。
要配置超时时间,请设置spring.lifecycle.timeout-per-shutdown-phase性质,如下例所示:
-
Properties
-
YAML
spring.lifecycle.timeout-per-shutdown-phase=20s
spring:
lifecycle:
timeout-per-shutdown-phase: "20s"
如果不发送正确的信息,IDE的关机可能是立刻而非顺利SIGTERM信号。
详情请参见你的IDE文档。 |
宽限期内拒绝请求
禁止新请求的具体方式取决于所使用的网络服务器。 实现可能在网络层停止接受请求,或者返回带有特定HTTP状态码或HTTP头部的响应。 持久连接的使用还可能改变请求停止被接受的方式。
想了解更多关于你网站服务器具体方法的信息,请参见优雅地关闭API文档TomcatWebServer.shutDownGracefully(优雅地关闭回呼),NettyWebServer.shutDownGracefully(GracefulShutdownCallback)或JettyWebServer.shutDownGracefully(优雅地关闭回调). |
Jetty、Reactor Netty 和 Tomcat 将停止在网络层接受新请求。
禁用优雅关机
要禁用优雅关机,请配置server.shutdown性质,如下例所示:
-
Properties
-
YAML
server.shutdown=immediate
server:
shutdown: "immediate"