警告
このプロパティの説明を読まずに、パラメーターを変更することは絶対にしないで下さい。 設定を間違えると、期待どおりに動作せず、Wrapperの動作不良や不具合の原因となります。
このプロパティには、WrapperがJVMへシャットダウンするように指示を出してから、 WrapperのJVM側がそれに応答して停止するまでの待機時間数(秒数)を設定します。 プロパティ値を「0 (ゼロ)」に設定すると、タイムアウト(時間切れ)は発生しません。
デフォルト値は「30秒」です。
wrapper.shutdown.timeout=30
問題?:
もし、アプリケーションがシャットダウンする、タイムアウト問題に悩んでいる場合、 このタイムアウト時間を延長することを検討したいかもしれません。 アプリケーション内部のシャットダウン・コードが完了するのに時間がかかている場合に、 これが発生することがあります。 試しにテストとして、このプロパティを「300秒(5分間)」のように設定して、 これで問題が消えるか様子を見てください。
もし、依然としてアプリケーションが5分テストよりも早くタイムアウトする場合、 その問題はシャットダウン時の後半にあるのかもしれません。 [wrapper.jvm_exit.timeout] プロパティをご覧ください。
もし、依然としてアプリケーションが完全に5分間の待機後にタイムアウトする場合、 何に時間を要しているのか確認するために、アプリケーションのデバックを検証する必要があるでしょう。 もしアプリケーションの シャットダウン段階のスピードアップが可能ならば、それが一番良いでしょう。 さもなければ、タイムアウト時間をアプリケーションがキレイにシャットダウンできるような値に設定してください。
アプリケーションの動作に高い信用性を確保するために、十分に長い時間の値を選ぶのが一番ですが、 実際のJVMハングアップのイベント時に、Wrapperができるだけ素早く反応するくらいの短い長さで十分です。
WrapperManager.signalStopping(n) :
もしシャットダウンの手順に、時々、長い時間を要する場合、 長めのタイムアウトを設定する手法ではなく、1つの代替え案として、 [WrapperManager.signalStopping(n)] メソッドを定期的に呼び出します。 この手法により、Wrapperへ「JVMが生きている」 「アプリケーションのシャットダウンがうまく進んでいる」ことを報告しながら、 アプリケーションの正常な動作を確信することができます。 ただし、そのレポート回数分だけ、たくさん呼び出すことになるため、 アプリケーションのシャットダウンに要する時間がさらに長くなると思われます。
この能力が有効中の場合、 このプロパティ値を「0 (ゼロ)」(=タイムアウト無効)か、あるいは「ある程度の大きい値」に設定すると、 シャットダウン段階で、JVMハングアップを検知するWrapperの能力が無効になる、 という意味になるので注意してください。
[wrapper.java.detect_debug_jvm] プロパティを「TRUE」に設定して「デバッガー検知」が有効中、このタイムアウト・プロパティは無視されます。
If you notice something that is incorrect, missing, or simply feel that some part of this page could be explained better, feel free to log in and add a comment. You will need to register before you can log on.