Interstage Application Server/Interstage Web Server J2EE ユーザーズガイド |
目次 索引 |
第1部 J2EE共通編 | > 第2章 J2EEアプリケーションの設計 | > 2.3 クラスローダ |
J2EEアプリケーションを作成する際は、クラスがどのクラスローダでロードされるかを考慮する必要があります。
ロードするクラスローダを誤った場合、J2EEアプリケーションが正常に動作しない場合があります。このようなトラブル発生時の調査に役立てるために、トレース機能を提供しています。
トレース機能は、クラスがロードされた時にどのクラスローダ上でロードされたかを“コンテナログ”に出力します。“コンテナログ”では以下が確認できます。
トレース情報の形式を以下に示します。
[タイムスタンプ] [Loaded クラス名 from リポジトリ by クラスローダの種別] |
[タイムスタンプ] [Loaded クラス名 by クラスローダの種別] |
項目
内容
タイムスタンプ
クラスをロードした日時
クラス名
ロードしたクラスのクラス名(パッケージ名を含む)
リポジトリ
ロードしたクラスの保管先ディレクトリ名またはjarファイル名
クラスローダの種別
クラスをロードしたクラスローダの名称
クラスローダ
表示名
システムクラスローダ
System
Interstageクラスローダ
Interstage
Catalinaクラスローダ
注) Interstageのシステムで使用しますCatalina
Applicationクラスローダ
Application
Webappクラスローダ
Webapp
------------------------------------------------------------------------------
[24/02/2004 16:17:22:093 +0900] [Loaded com.xxx.ClassA by Interstage]
[24/02/2004 16:17:22:101 +0900] [Loaded com.xxx.ClassB from c:\Interstage\J2EE\lib\xxx.jar by Webapp]
------------------------------------------------------------------------------
トレースを出力するには、ワークユニットのJavaVMオプションに以下のオプションを設定します。
トレース機能は、開発時のデバッグのための機能です。運用環境では使用しないことを推奨します。
ここではクラスローダのトレース機能の使用例について説明します。
[契機]
以下の問題が発生した場合にクラスローダのトレース情報を採取してください。クラスローダのトレース情報は問題解決のための手助けとなります。
[解析手順]
以下の手順で解析を行います。
[検討]
クラスのバッティングが原因でServletからEJBアプリケーションの呼び出しに失敗しているため、以下の対応を検討してください。
目次 索引 |