- ドキュメンテーション
- コンフィギュレーション・プロパティ概要
- 上級者向けコンフィギュレーション
- wrapper.jvm_kill.delay プロパティ
wrapper.jvm_kill.delay プロパティ |
||||||||||||
このプロパティでは、 [jvm_kill]イベントが 発生してから、実際にJVMが強制終了されるまでの、ポーズ(一時停止)時間を秒数で設定します。 デフォルト値は「0 (ゼロ)」です。
WrapperがJVMを強制終了しようとするとき、一部のアプリケーションでは、 終了する前にJVMに対して何か処理をする外部コマンドを実行したい場合もあるでしょう。 その場合には、[jvm_kill]イベントと イベント・コマンドの1つ[wrapper.event.<event_name>.command.argv.<n>]プロパティ を使って実現することができます。コマンドを実行して動作を継続する前に、そのコマンドを確実に遂行させるために [wrapper.event.<event_name>.command.block]プロパティ の設定が可能であっても、一部のアプリケーションでは、さらに追加時間を必要とするタイミングの問題もあります。 内部的な[wrapper.request_thread_dump_on_failed_jvm_exit] プロパティを使い、JVMを強制終了する前にスレッド・ダンプをリクエストするように、Wrapperを設定することが可能です。 しかしながら、例のとおり、 [jvm_kill]イベントに応答するコマンドを実行することでも実現可能です。 UNIX: UNIX上で、「SIGQUIT」シグナルをJVMプロセスへ送信することで、 スレッド・ダンプを生成することもできますが、 JVMプロセスが終了される前に[jvm_kill]イベントが即座に発生します。 つまり、これはシグナルが送られたときには、JVMが既に終了する準備が整っていることが好ましいでしょう。 このタイミング問題の回避策として、Wrapperに設定を加え、 外部コマンドを実行してから、実際にWrapperがJVMを強制終了する前に、5秒の遅延を入れています。
Windows: これは、また Windows上でサービスとして動作しているときでも起きるはずです。 次の例では、サービス名「MyApp」を想定して、「255」は、 [wrapper.thread_dump_control_code] プロパティで指定した値に一致している必要があります。
|















