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

2.22.2 クラスローダの分離

Interstage Java EE 6のクラスローダは下記表の単位で作成されます。

クラスローダ

作成単位

Extensionクラスローダ

Java VMプロセスで1つ作成されます。

Public APIクラスローダ

Java VMプロセスで1つ作成されます。

共通クラスローダ

Java VMプロセスで1つ作成されます。

Connectorクラスローダ

Java VMプロセスで1つ作成されます。

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

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

Applibクラスローダ

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

Applicationクラスローダ

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

Webクラスローダ

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

下図は、Java EEアプリケーションを配備した時のクラスローダ構成です。点線で表した配備単位ごとにクラスローダを作成して独立にクラスをロードするため、配備単位ごとに同一名称のファイルやパッケージ名、クラス名の使用が可能です。

注意

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

  • 異なるライフサイクルモジュール間は参照できません。たとえば、上図のLCM1とLCM2間は相互に参照できません。

  • アプリケーションライブラリでは、以下の参照ができません。

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

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