2.3.1 ルックアップで使用する名称の種類
アプリケーションサーバでは,次に示す4種類の名称を使用したルックアップができます。
- Portable Global JNDI名でのルックアップ
Java EEで規定されたjava:global,java:app,またはjava:moduleから始まる名称(Portable Global JNDI名)を指定してルックアップする方法です。Enterprise BeanまたはJ2EEリソースをルックアップするときに使用できます。
- java:comp/envを使用した名称でのルックアップ
Java EEで規定されたjava:comp/envを使用した名称を指定してルックアップする方法です。Enterprise BeanまたはJ2EEリソースをルックアップするときに使用できます。
- HITACHI_EJBから始まる名称でのルックアップ
アプリケーションサーバ独自の命名規則で自動的にバインドされる名称を指定してルックアップする方法です。Enterprise Beanをルックアップするときに使用できます。
- ユーザ指定名前空間機能を利用して付与した別名でのルックアップ
アプリケーションサーバ独自の機能(ユーザ指定名前空間機能)を利用して登録した任意の名称を指定してルックアップする方法です。Enterprise BeanまたはJ2EEリソースをルックアップするときに使用できます。
EJBクライアントの形態ごとに,利用できるルックアップ方法,および推奨するルックアップ方法を次の表に示します。
表2-4 ルックアップ方法の種類
EJBクライアントの形態 | ルックアップの方法 |
---|
Portable Global JNDI名でのルックアップ | java:comp/envを使用した名称でのルックアップ | HITACHI_EJBから始まる名称でのルックアップ | ユーザ指定名前空間機能を利用して付与した別名でのルックアップ |
---|
EJBクライアントアプリケーション | ◎ | × | ○ | ○ |
JSP,サーブレット | ○ | ◎ | ○ | ○ |
EJB | ○ | ◎ | ○ | ○ |
(凡例) ◎:利用を推奨する ○:利用できる ×:利用できない
それぞれのルックアップ名称とその名称を使用したルックアップ方法について説明します。
- <この項の構成>
- (1) Portable Global JNDI名でのルックアップ
- (2) java:comp/envを使用した名称でのルックアップ
- (3) HITACHI_EJBから始まる名称でのルックアップ
- (4) ユーザ指定名前空間機能を利用して付与した別名でのルックアップ
(1) Portable Global JNDI名でのルックアップ
Portable Global JNDI名でのルックアップについて,名称の定義方法,ルックアップできる範囲や特徴について説明します。
- 定義方法
Portable Global JNDI名を使用したルックアップには,自動的にバインドされる名称でのルックアップとリソース参照の定義に指定した名称でのルックアップがあります。
- 自動的にバインドされる名称のルックアップの場合
アプリケーションサーバでのJ2EEアプリケーションのデプロイ時に,オブジェクトリファレンスに自動的に付与されます。この名称は,Java EEで規定されている命名規則で定義され,java:global,java:app,またはjava:moduleから始まります。この名称をPortable Global JNDI名といいます。
- リソース参照の定義に指定した名称のルックアップの場合
Portable Global JNDI名をDDのリソース参照の定義に指定します。
- ルックアップできる範囲
同じCORBAネーミングサービスを利用するすべてのJ2EEサーバまたはEJBクライアントアプリケーション内で,Enterprise BeanまたはJ2EEリソースをルックアップできます。
- 特徴
J2EEアプリケーションのデプロイ時に,Enterprise Beanに対応するEJBホームオブジェクトリファレンス,およびビジネスインタフェースのリファレンスが,自動的にjava:global,java:app,またはjava:moduleから始まる名称にバインドされます。バインドされる名称には,標準アプリケーション名や標準モジュール名が付与されるので,名前空間の衝突を回避できます。また,Portable Global JNDI名は,他社製のアプリケーションサーバ間に共通のJNDI名のため,アプリケーションサーバ間のJ2EEアプリケーションの移行の際に,ソースコードやDDの修正が不要です。
Portable Global JNDI名でのルックアップについては,「2.4 Portable Global JNDI名でのルックアップ」を参照してください。また,標準アプリケーション名および標準モジュール名については,「2.4.2 自動的にバインドされるオブジェクト」を参照してください。
(2) java:comp/envを使用した名称でのルックアップ
java:comp/envを使用した名称のルックアップについて,名称の定義方法,ルックアップできる範囲や特徴について説明します。
- 定義方法
Java EEで定義されているjava:comp/envを使用した参照名と,実際の名称間のリンクの対応をDDのリソース参照に定義します。これによって,デプロイ時に参照名と実際の名称間のリンクを解決します。
- ルックアップできる範囲
一つのコンポーネント内でルックアップできます。ただし,Webアプリケーションの場合は,一つのWebアプリケーション内でルックアップできます。
- 特徴
java:comp/envは,Java EEで定義されている,名前空間のコンテキストルートです。java:comp/envを使用して,J2EEアプリケーション内の異なるEJB-JARおよびWebアプリケーション間でのルックアップや,J2EEリソースのルックアップができます。
java:comp/envを使用した名称のルックアップについては,Java EEの規定どおりの仕様です。
(3) HITACHI_EJBから始まる名称でのルックアップ
HITACHI_EJBから始まる名称のルックアップについて,名称の定義方法,ルックアップできる範囲や特徴について説明します。
- 定義方法
アプリケーションサーバでのJ2EEアプリケーションのデプロイ時に,オブジェクトリファレンスに自動的に付与されます。この名称は,アプリケーションサーバ独自の命名規則で定義されます。
- ルックアップできる範囲
同じCORBAネーミングサービスを利用するすべてのJ2EEサーバまたはEJBアプリケーション内でEnterprise Beanをルックアップできます。
- 特徴
J2EEアプリケーションのデプロイ時に,Enterprise Beanに対応するEJBホームオブジェクトリファレンス,およびビジネスインタフェースのリファレンスが,自動的にHITACHI_EJBから始まる名称にバインドされます。バインドされる名称には,J2EEアプリケーションのサーバ名やアプリケーション名が付与されるので,名前空間の衝突を回避できます。
HITACHI_EJBから始まる名称でのルックアップについては,「2.5 HITACHI_EJBから始まる名称でのルックアップ」を参照してください。
(4) ユーザ指定名前空間機能を利用して付与した別名でのルックアップ
ユーザ指定名前空間機能を利用して付与した別名でのルックアップについて,名称の定義方法,ルックアップできる範囲や特徴について説明します。
- 定義方法
アプリケーションサーバのユーザ指定名前空間機能を利用して,Enterprise BeanまたはJ2EEリソースに別名を定義します。
- ルックアップできる範囲
同じCORBAネーミングサービスを利用するすべてのJ2EEサーバ内でEnterprise BeanまたはJ2EEリソースをルックアップできます。
- 特徴
ユーザ指定名前空間機能を利用すると,Enterprise Beanの場合はJNDIの名前へのバインドと合わせて,EJBホームオブジェクトリファレンスまたはビジネスインタフェースのリファレンスの別名を登録できます。また,J2EEリソース(リソースアダプタ,メールコンフィグレーション,JavaBeansリソース)に対しても,別名を登録できます。
別名を登録することで,ユーザが指定した任意の名称でEnterprise BeanおよびJ2EEリソースをルックアップできるようになります。
Enterprise BeanまたはJ2EEリソースへの別名付与の詳細については,「2.6 Enterprise BeanまたはJ2EEリソースへの別名付与(ユーザ指定名前空間機能)」を参照してください。
- 参考
- Java EEの仕様では,java:comp/envを使用した名称でのルックアップが推奨されています。