ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Express Java EE運用ガイド
FUJITSU Software

2.23.2 クラスローダの分離

IJServerクラスタのクラスローダは下記表の単位で作成されます。

クラスローダ

作成単位

システムクラスローダ

サーバーインスタンスで1つ作成されます。

Shared Chainクラスローダ

サーバーインスタンスで1つ作成されます。

共通クラスローダ

サーバーインスタンスで1つ作成されます。

Connectorクラスローダ

サーバーインスタンスで1つ作成されます。

ライフサイクルモジュールクラスローダ

ライフサイクルモジュールが作成されている場合、ライフサイクルモジュールごとに作成されます。

Applibクラスローダ

EARファイル、EJB-JARファイル配備時にアプリケーションライブラリが指定された場合、配備単位、かつ、アプリケーションライブラリごとに作成されます。

Applicationクラスローダ

EARファイル、またはEJB-JARファイルが配備されている場合、配備されているEARファイル/EJB-JARファイルごとに作成されます。

Webクラスローダ

WARファイル、またはWebモジュールを含んだEARファイルが配備されている場合、配備されているWARファイル/EARファイル内のWebモジュールごとに作成されます。


下図は、委譲モデルがデフォルトの場合のクラスローダ構成です。
点線で表した配備単位ごとにクラスローダを作成して独立にクラスをロードするため、配備単位ごとに同一名称のファイルやパッケージ名、クラス名の使用が可能です。
デフォルトの委譲モデルの場合は、EARファイル内のWebモジュールはApplicationクラスローダでロードされます。
そのため、WebモジュールとEJBモジュールの相互参照が可能です。Webクラスローダの委譲モデルについては、「2.23.3 Webクラスローダの委譲モデルの変更」を参照してください。


また、下図のようにWebクラスローダの委譲モデルを変更することでEARファイル配備時でもWebクラスローダでWebモジュールのクラスをロードできます。この設定では、親クラスローダよりも先にWebクラスローダでクラスがロードされます。
Webクラスローダの委譲モデルについては、「2.23.3 Webクラスローダの委譲モデルの変更」を参照してください。



注意

  • 異なるコネクタモジュール間は参照できません。たとえば、上図のRAR2とRAR3間は相互に参照できません。

  • EARファイル、EJB-JARファイル配備時に指定されたアプリケーションライブラリでは、以下の参照ができません。

    • 1つの配備単位で複数のアプリケーションライブラリを指定した場合、そのアプリケーションライブラリ間は参照できません。たとえば、上図のapplib1とapplib2間、applib5とapplib6間は相互に参照できません。

    • アプリケーションライブラリから、Connectorクラスローダ、共通クラスローダでロードされる資源は参照できません。たとえば、上図のapplib1からRAR2、applib5からRAR2を参照することはできません。