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
:
管理エンドポイントシャットダウンが有効 = true
以下のURLが利用可能になります:
/actuator/shutdown
- アプリケーションを正常にシャットダウンできるようにします (デフォルトでは有効になっていません)。
エンドポイントの公開方法に応じて、機密パラメータがセキュリティのヒントとして使用される場合があります。
たとえば、機密性の高いエンドポイントにアクセスする場合は、ユーザー名とパスワードが必要になりますHTTP
(Web セキュリティが有効になっていない場合は、単に無効になります)。