知識庫 / Spring / Spring Boot RSS 訂閱

Spring Boot 中優雅關閉 Web 服務器

Spring Boot
HongKong
6
12:48 PM · Dec 06 ,2025

1. 概述

在本快速教程中,我們將學習如何配置 Spring Boot 應用程序以更優雅地處理關閉操作。

2. 優雅關閉

自 Spring Boot 2.3 版本起,Spring Boot 現在支持所有嵌入式 Web 服務器(Tomcat、Jetty、Undertow 和 Netty)的優雅關閉功能,無論是在 Servlet 平台還是 Reactive 平台。

要啓用優雅關閉,只需在我們的 application.properties 文件中將 server.shutdown 屬性設置為 graceful 即可。

server.shutdown=graceful

然後,Tomcat、Netty 和 Jetty 將在網絡層停止接受新的請求。而 Undertow 則會繼續接受新的請求,但會向客户端返回即時的 503 Service Unavailable 響應。

默認情況下,該屬性的值等於 immediate,這意味着服務器會立即關閉。

一些請求可能會在優雅關閉階段開始之前被接受。在這種情況下,服務器會等待這些活躍請求完成其工作,最多等待指定的時間。我們可以使用 spring.lifecycle.timeout-per-shutdown-phase 配置屬性來配置這個優雅關閉時間段。

spring.lifecycle.timeout-per-shutdown-phase=1m

如果添加此項,服務器將等待最多一分鐘來完成活躍請求。此屬性的默認值為30秒。

3. 結論

在本教程中,我們瞭解到如何利用 Spring Boot 2.3 中的優雅關閉功能。

user avatar
0 位用戶收藏了這個故事!
收藏

發佈 評論

Some HTML is okay.