すべてのIJServerで共通のクラスを指定する方法
J2EE機能では、すべてのIJServerワークユニットで共通のクラスを指定するためにJ2EEプロパティのクラスパスを設定しました。
Jakarta EE 8機能のGlassFish Serverクラスターを利用する場合は、運用資産格納ディレクトリーに設定してください。運用資産格納ディレクトリーの詳細は、「2.22.4 GlassFishで使用するクラスの設定について」を参照してください。
IJServer内で共通のクラスを指定する方法
J2EE機能では、IJServerワークユニット内で共通のクラスを指定するために以下の方法を提供していました。
ワークユニットのクラスパスに設定する方法
IJServerディレクトリー配下のSharedディレクトリーに設定する方法
アプリケーション固有ライブラリパスに設定する方法
IJServerのextディレクトリーに設定する方法
Jakarta EE 8機能では、上記すべての設定項目を実装していません。代替方法を下表に示します。
設定方法 | J2EE機能 (すべて分離の場合) | Jakarta EE 8機能 | 注意事項 |
---|---|---|---|
ワークユニットのクラスパスに設定する方法 | Interstageクラスローダ | クラスパスのサフィックス | ワークユニットのクラスパスで指定したライブラリはアプリケーションのロードの後にロードされましたが、代替方法ではアプリケーションのロードよりも前にロードされます。 |
IJServerディレクトリー配下のSharedディレクトリーに設定する方法 | Applicationクラスローダ | アプリケーションライブラリ |
|
アプリケーション固有ライブラリパスに設定する方法 | |||
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)の連携 | 親が先、親が後のどちらも可 | 親クラスローダへの委譲を先にする、親クラスローダへの委譲を後にするのどちらも可 |