ページの先頭行へ戻る
Interstage Application Server V13.0.0 GlassFish 設計・構築・運用ガイド
FUJITSU Software

13.2.13 クラスローダについて

すべてのIJServerで共通のクラスを指定する方法

J2EE機能では、すべてのIJServerワークユニットで共通のクラスを指定するためにJ2EEプロパティのクラスパスを設定しました。

Jakarta EE 8機能のGlassFish Serverクラスターを利用する場合は、運用資産格納ディレクトリーに設定してください。運用資産格納ディレクトリーの詳細は、「2.22.4 GlassFishで使用するクラスの設定について」を参照してください。

IJServer内で共通のクラスを指定する方法

J2EE機能では、IJServerワークユニット内で共通のクラスを指定するために以下の方法を提供していました。

Jakarta EE 8機能では、上記すべての設定項目を実装していません。代替方法を下表に示します。

設定方法

J2EE機能

(すべて分離の場合)

Jakarta EE 8機能

注意事項

ワークユニットのクラスパスに設定する方法

Interstageクラスローダ

クラスパスのサフィックス

ワークユニットのクラスパスで指定したライブラリはアプリケーションのロードの後にロードされましたが、代替方法ではアプリケーションのロードよりも前にロードされます。

IJServerディレクトリー配下のSharedディレクトリーに設定する方法

Applicationクラスローダ

アプリケーションライブラリ

  • アプリケーション固有ライブラリパスはIJServerワークユニット内のすべてのアプリケーションで有効になります。代替方法では配備したアプリケーションだけ有効となります。

  • 代替方法ではライブラリを変更する場合、設置先の同名モジュールを置き換えるか、再配備が必要です。

  • 代替方法ではclassの設定はできません。

アプリケーション固有ライブラリパスに設定する方法

IJServerのextディレクトリーに設定する方法

システムクラスローダ

J2EE機能でも非推奨としていた方法であり、「アプリケーション固有ライブラリパスに設定する方法」を推奨していました。

クラスローダの検索順番の変更の可否

J2EE機能では、下図で表すようにWebクラスローダの検索順番の変更が可能でした。

Jakarta EE 8機能では、「Webクラスローダの譲モデルの変更」を利用することにより、同様の設定が可能です。

以下の操作に対して、J2EE機能とJakarta EE 8機能で差分はありません。

操作内容

J2EE機能

Jakarta EE 8機能

ejb-jarファイルからWARファイルへの参照

親が先、親が後のどちらも不可

親クラスローダへの委譲を先にする、親クラスローダへの委譲を後にするのどちらも不可

EARファイル内の複数WARモジュールで同パッケージ、同一クラス名の使用

親が先、親が後のどちらも可

親クラスローダへの委譲を先にする、親クラスローダへの委譲を後にするのどちらも可

Webアプリケーションと他モジュール(EJB、Connector)の連携

親が先、親が後のどちらも可

親クラスローダへの委譲を先にする、親クラスローダへの委譲を後にするのどちらも可