2.4.1 JNDI名前空間の種類
Java EEで定義されているJNDI名前空間の種類とルックアップできる範囲について説明します。
JNDI名前空間の範囲を次の図に示します。
-
java:global
すべてのJ2EEアプリケーションで共有される名前空間です。アプリケーションサーバでは,同じCORBAネーミングサービスを利用するすべてのJ2EEサーバまたはEJBクライアントアプリケーションで共有されます。
-
java:app
J2EEアプリケーション内で共有される名前空間です。一つのJ2EEアプリケーション内のすべてのコンポーネント(Enterprise Bean,サーブレット,JSP,フィルタ,およびリソースアダプタ)で共有されます。
-
java:module
各種モジュール(EJB-JAR,Webアプリケーションまたはリソースアダプタ)内で共有される名前空間です。一つのモジュール内のすべてのコンポーネント(Enterprise Bean,サーブレット,JSP,フィルタ,およびリソースアダプタ)で共有されます。
-
java:comp
各種コンポーネント(Enterprise Bean,サーブレット,JSP,フィルタ,またはリソースアダプタ)内で共有される名前空間です。一つのコンポーネント内でだけ共有されます。ただし,Webアプリケーションの場合は,Webアプリケーション内のすべてのサーブレットまたはJSPで共有されます。
ルックアップ対象のコンポーネントがルックアップ元と同じプロセス,アプリケーション,モジュールまたはコンポーネントに含まれているかによって,使用できる名前空間が異なります。ルックアップするコンポーネントとの関係と,名前空間ごとのルックアップ可否を次の表に示します。
項番 |
ルックアップするコンポーネントとの関係 |
ルックアップする名前空間 |
||||||
---|---|---|---|---|---|---|---|---|
サーバ(プロセス) |
アプリケーション |
モジュール |
コンポーネント |
java:global |
java:app |
java:module |
java:comp |
|
1 |
同じ |
同じ |
同じ |
同じ |
○ |
○ |
○ |
○ |
2 |
同じ |
同じ |
同じ |
異なる |
○ |
○ |
○ |
△※1 |
3 |
同じ |
同じ |
異なる |
異なる |
○ |
○ |
× |
× |
4 |
同じ |
異なる |
異なる |
異なる |
○ |
× |
× |
× |
5 |
異なる※2 |
異なる |
異なる |
異なる |
○※3 |
× |
× |
× |