分離したリソース・プロバイダーに関する考慮事項
それぞれ独自のクラス・ローダーに分離するように指定したリソース・プロバイダーについて作業を行う場合、注意する必要がある設計上の考慮事項がいくつかあります。
リソース・プロバイダーをそれぞれ独自のクラス・ローダーに分離する場合には、以下の問題に対処する必要がありますので注意してください。
- クライアント・コンテナー
クライアント・コンテナーはリソース・プロバイダーのクラスパスを管理しません。 そのため、分離されたリソース・プロバイダーは、クライアント・コンテナーではサポートされません。
- 単一のアプリケーションに複数のリソース・プロバイダーのバージョン
アプリケーションが、同一のリソース・プロバイダーの複数のバージョンまたは複数の実装環境のリソースを参照する場合には、参照されるすべてのリソース・プロバイダーが分離されている必要があります。
- 分離されたリソース・プロバイダー・クラスへの参照モジュールが、分離されたリソース・プロバイダーによってロードされたクラスを直接参照する場合、つまり、モジュールにリソース・プロバイダー・クラスのインポート・ステートメントがある場合には、以下の制限を受けます。
- モジュールは、分離されたリソース・プロバイダーの単一のバージョンまたは実装環境のリソースのみ、参照することができます。 モジュール・クラス・ローダーはクラスの単一のバージョンしか参照できないため、これはクラス・ロードに特有の制限です。
- モジュールは、Java EE リソース参照メタデータを使用せずに、直接 JNDI 検索を実行することはできません。リソース参照メタデータを使用しないと、アプリケーション・サーバーにはモジュールのクラス・ローダーを分離されたリソース・プロバイダーのクラス・ローダーにリンクする手段がないため、 この制限が必要になります。