Flex Gateway新着情報
Governance新着情報
Monitoring API Managerデフォルトでは、一部のスタック追跡は Mule に表示されません。Mule にスタック追跡が表示さている場合でも、わかりやすい出力を生成するために一部の内部クラスの参照が除外されています。
Mule スタック追跡の動作は、次の 2 つの方法で制御できます。
コマンドライン引数を使用する
Anypoint Studio でプロパティを設定する
次のコマンドライン引数と共に -M-DpropertyName
を使用して、スタック追跡の動作を制御します。
mule.verbose.exceptions
- true に設定すると、絞り込まれたスタック追跡が Mule に表示されます。
mule.stacktrace.filter
- スタック追跡から削除するパッケージやクラスのカンマ区切りリスト。string.startsWith()
を使用して照合されます。
これらの引数は、Mule 開発者および管理者がトラブルシューティング時に使用できます。これらは、エンドユーザーが使用することを想定していません。 |
Studio で、上記で指定したプロパティを設定し、スタック追跡の提供や、削除するパッケージまたはクラスの除外を行うように Mule に指示できます。これらの設定を調整する手順は、次のとおりです。
[Run (実行)] > [Run Configurations… (設定を実行…)] を選択します。
プロパティを定義して、目的の動作を指定します。
以下の例では、mule.verbose.exceptions
プロパティが true に設定されています。
Mule が停止して、その原因を見つけるために詳細情報が必要な場合、以下の手順に従って Mule をトラブルシューティングします。
Mule プロセス ID (MULE_PID
) を識別します。
スレッドダンプを取得します。
Mule サーバーでメモリ不足エラー java.lang.OutOfMemoryError: Java heap space
がスローされた場合、ヒープダンプを取得します。
Mule プロセス ID を識別するには、Unix/Linux ps
コマンドを使用するか、ターミナルから jps
コマンドを実行します。jps
ツールは、Mule を実行するために使用される JDK に付属しています。
たとえば、MuleContainerBootstrap
や ApplicationDeployer
などが含まれる行で Mule プロセスを識別します。
Mule サーバーでメモリ不足エラー java.lang.OutOfMemoryError: Java heap space
がスローされた場合、ヒープダンプを取得します。
Oracle JVM は、この情報を収集する JVM 修飾子を提供します。この変更を適用したら Mule サーバーを再起動して、メモリ不足エラーをもう一度再現する必要があります。
Mule が使用する JVM にこの修飾子を適用するには、ヒープダンプの作成が自動的にトリガーされるように Mule の /conf/wrapper.conf
ファイルで次のパラメーターを設定します。
wrapper.java.additional.<n>=-XX:+HeapDumpOnOutOfMemoryError wrapper.java.additional.<n+1>=-XX:HeapDumpPath=path/to/dumps
パラメーターを設定する場合、<n> を wrapper.conf
の順序の次の数値に変更します。
デフォルトでは、Mule には |
ヒープダンプのパスが定義されていない場合、java プロセスが起動したディレクトリにファイルが作成されます。その後、ヒープダンプファイルが java_pid<pid>.hprof.<unique number>
として生成されます。