IJServerクラスタのクラスローダは下記表の単位で作成されます。
クラスローダ | 作成単位 |
---|---|
システムクラスローダ | サーバーインスタンスで1つ作成されます。 |
Shared Chainクラスローダ | サーバーインスタンスで1つ作成されます。 |
共通クラスローダ | サーバーインスタンスで1つ作成されます。 |
Connectorクラスローダ | サーバーインスタンスで1つ作成されます。 |
ライフサイクルモジュールクラスローダ | ライフサイクルモジュールが作成されている場合、ライフサイクルモジュールごとに作成されます。 |
Applicationクラスローダ | EARファイル、またはEJB-JARファイルが配備されている場合、配備されているEARファイル/EJB-JARファイルごとに作成されます。 |
Webクラスローダ | WARファイル、またはWebモジュールを含んだEARファイルが配備されている場合、配備されているWARファイル/EARファイル内のWebモジュールごとに作成されます。 |
下図は、委譲モデルがデフォルトの場合のクラスローダ構成です。
点線で表した配備単位ごとにクラスローダを作成して独立にクラスをロードするため、配備単位ごとに同一名称のファイルやパッケージ名、クラス名の使用が可能です。
デフォルトの委譲モデルの場合は、EARファイル内のWebモジュールはApplicationクラスローダでロードされます。
そのため、WebモジュールとEJBモジュールの相互参照が可能です。Webクラスローダの委譲モデルについては、「3.19.3 Webクラスローダの委譲モデルの変更」を参照してください。
また、下図のようにWebクラスローダの委譲モデルを変更することでEARファイル配備時でもWebクラスローダでWebモジュールのクラスをロードできます。この設定では、親クラスローダよりも先にWebクラスローダでクラスがロードされます。
Webクラスローダの委譲モデルについては、「3.19.3 Webクラスローダの委譲モデルの変更」を参照してください。