7.7.5 タイムアウトが発生したトランザクションの特定
ここでは,J2EEアプリケーションまたはバッチアプリケーションのトランザクションがタイムアウトした場合に,メッセージまたは性能解析トレースファイルを使用してタイムアウトしたトランザクションを特定する方法について説明します。
ここでは,次の2種類の方法について説明します。
-
メッセージを利用した特定方法
-
性能解析トレースファイルの出力内容による特定方法
(1) メッセージを利用した特定方法
トランザクションでタイムアウトが発生した場合,メッセージKDJE31002-W,およびKDJE50080-Wが出力されます。これらのメッセージには,次の情報が出力されます。
- KDJE31002-W
-
-
トランザクションを開始したJ2EEアプリケーション名,またはバッチアプリケーションのクラス名
-
トランザクションを開始したJ2EEコンポーネント(Enterprise Bean,サーブレットまたはJSP)のクラス名とインスタンスのハッシュコード
-
保守情報
-
性能解析トレースのルートアプリケーション情報
メッセージに出力された性能解析トレースのルートアプリケーション情報を,性能解析トレースファイルに出力されたルートアプリケーション情報と突き合わせて確認することで,性能解析トレース中のどこでトランザクションタイムアウトが発生したかを確認できます。
また,その前後のトレース情報を確認して,タイムアウトが発生したトランザクションでの処理内容を確認できます。
-
- KDJE50080-W
-
-
IPアドレス,プロセスID,ルートアプリケーション情報
-
SQLを実行したコネクションのコネクションID
-
SQLを実行したメソッド名
-
SQLを実行したメソッドが実行中かどうか
-
最後に実行されたSQL
メッセージに出力されたSQLの情報を参照することで,タイムアウトが発生した原因となった個所を調査できます。
-
なお,メッセージの詳細については,マニュアル「アプリケーションサーバ メッセージ(構築/運用/開発用)」の「KDJE31002-W」,およびマニュアル「アプリケーションサーバ メッセージ(構築/運用/開発用)」の「KDJE50080-W」を参照してください。
(2) 性能解析トレースファイルの出力内容による特定方法
性能解析トレースファイルには,トランザクションタイムアウトが発生する直前と直後のトレース取得ポイントで,トレース情報が出力されています。
次のイベントIDの処理内容を確認してください。