3.12 クラスローダーの構成について
クラスローダーとは、クラスをロードするオブジェクトです。アプリケーションで利用するライブラリーを開発するとき、ライブラリーのスコープを定義する必要があります。
クラスローダーの構成
アプリケーションで利用するライブラリーを開発するとき、ライブラリーのスコープを定義するには、Java EE Serverのクラスローダーの階層構造をアプリケーション開発者が把握しておく必要があります。
Java EE Serverのクラスローダーの階層構造を次に示します。
各クラスローダーの内容を次の表に示します。
項番 |
クラスローダー名 |
説明 |
---|---|---|
1 |
Bootstrap |
Java VMが提供するクラスをロードします。 |
2 |
Extension |
system extensionsディレクトリー(domain-dir/lib/ext)に配置したJARファイルからクラスをロードします。 |
3 |
Public API |
Java EE APIおよびApplication Server固有APIとその実装クラスをロードします。 |
4 |
Common |
アプリケーションやリソースアダプターで共通して使用するライブラリー(JARファイル)をロードします。 Application Serverのインストールディレクトリー/javaee/glassfish/libディレクトリーに配置されたJARファイルからクラスをロードし、次にApplication Serverのインストールディレクトリー/javaee/glassfish/domains/ドメイン名/libからクラスをロードします。 |
5 |
Connector |
すべてのアプリケーションが共用するリソースアダプターアーカイブをロードします。 |
6 |
Applib |
デプロイ時に指定したライブラリー(JARファイル)をロードします。※ |
7 |
Archive |
デプロイしたアプリケーションやモジュールに含まれる次のファイルおよびクラスをロードします。
|
- 注※
-
デプロイした複数のアプリケーションで同一ライブラリーを利用する場合、各アプリケーションは同じライブラリーのインスタンスを共有します。
ライブラリーからほかのライブラリーのクラスは参照できません。