Hitachi

uCosminexus Application Runtime for Spring Boot ユーザーズガイド


20.1.7 実行可能JAR/WARプロセスの強制終了

稼働監視機能が検知した障害または設定の誤りによってプロセスモニタが停止する場合,実行可能JAR/WARプロセスが強制終了されます。Linuxの場合とWindowsの場合を次に示します。

Linuxの場合:

実行可能JAR/WARプロセスの強制終了は,次の2段階で実行されます。

  1. 実行可能JAR/WARプロセスに対するSIGTERMの送信

  2. 実行可能JAR/WARプロセスに対するSIGKILLの送信

Windowsの場合:

実行可能JAR/WARプロセスの強制終了は,次の2段階で実行されます。

  1. 実行可能JAR/WARプロセスに対する[Ctrl]+[C]の送信

  2. 実行可能JAR/WARプロセスに対するtaskkill /Fの送信

1.の実行可能JAR/WARプロセスが終了したかどうかの確認は,config.properties(本製品の設定ファイル)のmonitor.target.forcestop.timeoutで設定するタイムアウト時間内で実施されます。そのため,実行可能JAR/WARプロセスが確実に終了するタイムアウト時間を設定する必要があります。monitor.target.forcestop.timeoutについては,「(2) プロセスモニタに関するプロパティ」を参照してください。

monitor.target.forcestop.timeoutで設定するタイムアウト時間内に実行可能JAR/WARプロセスが終了しなかった場合は,2.が実行されます。

重要

モニタ対象プロセスのシャットダウン方式がgracefulの場合,monitor.target.forcestop.timeoutには,Spring Bootのspring.lifecycle.timeout-per-shutdown-phaseで設定されているグレースフルシャットダウンの猶予時間よりも長い時間を設定してください。これは,グレースフルシャットダウンが正しく完了する前に,2.によってモニタ対象プロセスが終了しないようにするために必要です。

モニタ対象プロセスのシャットダウン方式がgracefulの場合とは,Spring Bootのserver.shutdownの値がgracefulの場合です。Spring Boot 3.4からはモニタ対象プロセスのシャットダウン方式はgracefulがデフォルトとなります。