World Map
Java Service Wrapperは、御社Javaアプリケーション製品の安定した信頼性を高める最短最善の方法です。
  • Free Trial
  • Buy Now
wrapper.java.detect_debug_jvm プロパティ

wrapper.java.detect_debug_jvm プロパティ

対応バージョン :3.3.6
対応エディション :プロフェッショナル版スタンダード版コミュニティー版
対応プラットフォーム :WindowsMac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/OSIBM z/Linux

警告

このプロパティの説明を読まずに、パラメーターを変更することは絶対にしないで下さい。 設定を間違えると、期待どおりに動作せず、Wrapperの動作不良や不具合の原因となります。

Wrapperには、JVMが凍結した時、あるいは、不安定になった時、 それを検知するように設計されたいくつかの機能を備えています。 通常どおり、これらの機能は全て有効のままにしておくべきです。 しかしながら、JVMがデバッガーに接続したときには、 様々なデバッグ動作が行われるため、意図的にJVMを凍結させるのが一般的です。 これらのケースの場合、Wrapperは、JVMが凍結したり死んだと想定して、 通常通り、デバッグ・セッションの途中で、再起動させることになります。 Wrapperは、設定したJavaコマンドラインを確認したり、 デバッガーが利用中であると検知した場合には、一部のタイムアウトを無視したりすることで、この問題を回避します。 このプロパティでは、このデバッグの確認を「有効にする(TRUE)/無効にする(FALSE)」設定が可能になります。 デフォルト値は「TRUE」でデバッグ作業を検知して、一部のタイムアウトを無視します。

設定例:(デバッグ検知あり)
wrapper.java.detect_debug_jvm=TRUE

デバッガーの検知:

もし[wrapper.java.command] プロパティに『jdb』や『jdb.exe』が設定されているとき、あるいは、 [wrapper.java.additional.<n>] プロパティの一つに『-Xdebug』が設定されているとき、 Wrapperは「JVMがデバッガーの利用中である」と判断します。

Wrapperが「デバッガー利用中」と検知すると、スタートアップ時のログに次のメッセージが記録されます:

スタートアップ時のログ:
------------------------------------------------------------------------
The JVM is being launched with a debugger enabled and could possibly be
suspended.  To avoid unwanted shutdowns, timeouts will be disabled,
removing the ability to detect and restart frozen JVMs.
------------------------------------------------------------------------

タイムアウト機能を無視したとき一番最初に、次のメッセージがログに記録されます:

ログ・メッセージ:
------------------------------------------------------------------------
Ping: Timed out waiting for signal from JVM.
The JVM was launched with debug options so this may be because the JVM
is currently suspended by a debugger.  Any future timeouts during this
JVM invocation will be silently ignored.
------------------------------------------------------------------------

デバッガー検知の影響を受ける「タイムアウト」プロパティ:

「デバッグ検知」が有効になっている間、このタイムアウト・プロパティは無視されます。

参照:デバッグ