5.3.2 J2EEアプリケーション実行時間の監視とは
J2EEアプリケーション実行時間の監視とは,EJBおよびWebアプリケーションのリクエスト実行時間を監視する機能です。J2EEアプリケーション実行時間の監視機能によって,J2EEアプリケーションで無限ループなどの障害発生を検知すると,一定時間内に終了しなかったメソッド処理をタイムアウトしてユーザに通知し,さらにメソッドキャンセル機能によって使用中のトランザクションの強制決着とメソッドのキャンセルを実施できます。
J2EEアプリケーション実行時間の監視機能には,メソッドタイムアウト機能と,メソッドキャンセル機能があります。
- メソッドタイムアウト機能
-
監視基盤にあるリクエストのうち,一定時間内に終了しなかったメソッド処理を,タイムアウトとしてユーザに通知する機能です。監視基盤とは,J2EEアプリケーション実行時間の監視機能を実現するために必要なインタフェースを提供し,監視情報を管理する領域です。
- メソッドキャンセル機能
-
メソッドタイムアウト機能でタイムアウトが通知されたあと,メソッドのキャンセルを実施する機能です。キャンセル時にデータベースにアクセスしている場合は,トランザクションの強制決着もします。
なお,メソッドタイムアウト機能およびメソッドキャンセル機能では,ログ情報としてスレッドダンプを出力します。出力されたスレッドダンプのファイル数は,リソース枯渇監視機能で監視できます。リソース枯渇監視機能については,「4. リソースの枯渇監視」を参照してください。
J2EEアプリケーション実行時間の監視機能について次の図に示します。
図中のコマンドについて説明します。
-
メソッドキャンセルコマンドを実施する前に,メソッドキャンセルコマンドを実行できるかどうかを確認するときに使用します。一覧表示コマンドについては,マニュアル「アプリケーションサーバ リファレンス コマンド編」の「cjlistthread(スレッド情報の表示)」を参照してください。
-
タイムアウトが検知された場合,またはスレッドの状態が不正な場合に使用します。メソッドキャンセルコマンドについては,マニュアル「アプリケーションサーバ リファレンス コマンド編」の「cjstopthread(スレッドの削除)」を参照してください。
-
アプリケーションを強制停止するときに使用します。アプリケーションの強制停止については,「5.5 J2EEアプリケーションの停止」を参照してください。アプリケーション強制停止コマンドについては,マニュアル「アプリケーションサーバ リファレンス コマンド編」の「cjstopapp(J2EEアプリケーションの停止)」を参照してください。