Spring Boot アプリケーションを正しくシャットダウンするにはどうすればいいですか? 質問する

Spring Boot アプリケーションを正しくシャットダウンするにはどうすればいいですか? 質問する

Spring Boot ドキュメントには、「各 SpringApplication は JVM にシャットダウン フックを登録し、終了時に ApplicationContext が正常に閉じられるようにします」と記載されています。

シェル コマンドをクリックするとctrl+c、アプリケーションを正常にシャットダウンできます。実稼働マシンでアプリケーションを実行する場合は、 コマンドを使用する必要がありますjava -jar ProApplicaton.jar。ただし、シェル ターミナルを閉じることはできません。閉じると、プロセスが閉じられます。

のようなコマンドを実行するとnohup java -jar ProApplicaton.jar &、 を使用して正常にシャットダウンすることはできませんctrl+c

実稼働環境で Spring Boot アプリケーションを起動および停止する正しい方法は何ですか?

ベストアンサー1

アクチュエータ モジュールを使用している場合は、エンドポイントが有効になっている場合は、JMXまたは を介し​​てアプリケーションをシャットダウンできます。HTTP

に追加application.properties

Spring Boot 2.0以降:

管理エンドポイントシャットダウンが有効 = true

以下のURLが利用可能になります:

/actuator/shutdown- アプリケーションを正常にシャットダウンできるようにします (デフォルトでは有効になっていません)。

エンドポイントの公開方法に応じて、機密パラメータがセキュリティのヒントとして使用される場合があります。

たとえば、機密性の高いエンドポイントにアクセスする場合は、ユーザー名とパスワードが必要になりますHTTP(Web セキュリティが有効になっていない場合は、単に無効になります)。

からSpring Boot ドキュメント

おすすめ記事