ここでは、Interstage Java EE 6のクラスローダの階層構造について説明します。
Interstage Java EE 6で使用するクラスローダは、親クラスローダおよび子クラスローダからなる階層構造を持っています。このようにクラスローダが階層構造を持つことによりシステムとアプリケーションおよびアプリケーション間の独立性が向上します。
各クラスローダは下表のリソースをロードします。本製品のデフォルトの設定では、リソースは表の上から順に検索されます。Webクラスローダの場合、委譲モデルを変更することでリソースの検索順を変更可能です。詳細は「2.22.3 Webクラスローダの委譲モデルの変更」を参照してください。各クラスローダ内でロードされるリソースの検索順番は不定です。
| クラスローダ | ロードするリソース | 設定方法 | 
|---|---|---|
| Extensionクラスローダ | システム拡張ディレクトリに配備されたクラス | システム拡張ディレクトリ | 
| Public APIクラスローダ | アプリケーションサーバのクラス | 設定不可 | 
| 共通クラスローダ | Interstage Java EE 6で共通に使用するクラス | 共通ディレクトリ | 
| Connectorクラスローダ | コネクタモジュールのクラス | RARファイル | 
| ライフサイクルモジュールクラスローダ | ライフサイクルモジュール | ライフサイクルモジュール | 
| Applibクラスローダ | アプリケーションライブラリのクラス(JARファイル) | アプリケーションライブラリ | 
| Applicationクラスローダ | エンタープライズアプリケーション内で共通に使用するクラス(JARファイル) | application.xmlのlibrary-directoryタグで指定したディレクトリ | 
| エンタープライズアプリケーション内のコネクタモジュールのクラス | EARファイル内のRARファイル | |
| エンタープライズアプリケーション内のEJBアプリケーションのクラスまたはそのEJBアプリケーションが使用するクラス(EJBアプリケーションが単体配備された場合も含む) | EJB-JARファイルまたはEJB-JARファイル内のマニフェストファイルのクラスパス | |
| Webクラスローダ | Webアプリケーションが使用するクラス | WARファイル内のマニフェストファイルのクラスパス | 
| Webアプリケーションのクラス(classファイル) | WARファイル内のWEB-INF/classesディレクトリ | |
| Webアプリケーションのクラス(JARファイル) | WARファイル内のWEB-INF/libディレクトリ |