このバージョンはまだ開発中であり、まだ安定しているとは見なされていません。最新の安定バージョンについては、Spring Boot 4.0.2 を使用してください! |
グレースフルシャットダウン
3 つの組み込み Web サーバー(Jetty、Reactor、Netty、Tomcat)すべて、リアクティブ型とサーブレットベースの両方の Web アプリケーションで、グレースフルシャットダウンがデフォルトで有効になっています。これは、アプリケーションコンテキストの終了処理の一環として、SmartLifecycle (Javadoc) Bean の停止処理の初期段階で実行されます。この停止処理ではタイムアウトが使用されます。このタイムアウト期間中は、既存のリクエストは完了できますが、新しいリクエストは許可されません。
タイムアウト期間を構成するには、次の例に示すように、spring.lifecycle.timeout-per-shutdown-phase プロパティを構成します。
プロパティ
YAML
spring.lifecycle.timeout-per-shutdown-phase=20sspring:
lifecycle:
timeout-per-shutdown-phase: "20s" 適切な SIGTERM シグナルが送信されない場合、IDE のシャットダウンは正常ではなく即時に実行される可能性があります。詳細については、IDE のドキュメントを参照してください。 |
猶予期間中のリクエストの拒否
新しいリクエストが許可されない具体的な方法は、使用されている Web サーバーによって異なります。実装によっては、ネットワーク層でリクエストの受け入れを停止したり、特定の HTTP ステータスコードまたは HTTP ヘッダーを含むレスポンスを返すことがあります。永続的な接続を使用すると、リクエストの受け入れを停止する方法が変わることもあります。
Web サーバーで使用される特定の方法の詳細については、TomcatWebServer.shutDownGracefully(GracefulShutdownCallback) (Javadoc) 、NettyWebServer.shutDownGracefully(GracefulShutdownCallback) (Javadoc) 、または JettyWebServer.shutDownGracefully(GracefulShutdownCallback) (Javadoc) の shutDownGracefully API ドキュメントを参照してください。 |
Jetty、Reactor、Netty、Tomcat は、ネットワーク層での新しいリクエストの受け入れを停止します。