2.6.8 ユーザ指定名前空間機能を使用する場合の注意事項
ここでは,ユーザ指定名前空間機能を使用する場合の注意事項について説明します。
(1) 別名を使用した検索を実行する場合の注意
-
ローカルインタフェースを持つEnterprise Beanは,J2EEアプリケーション外から検索できません。
-
ローカルインタフェースを持つEnterprise Beanの別名に対して,ネーミングコンテキスト単位の検索はできません。
-
リモートインタフェースを持つEnterprise Beanとローカルインタフェースを持つEnterprise Beanには,同じ別名を設定できます。ただし,この場合に重複している別名をルックアップすると,必ずローカルインタフェースを持つEnterprise Beanがルックアップされます。
(2) ネーミングサービスについての注意
-
複数のJ2EEサーバで,一つのCORBAネーミングサービスを共用している場合,ユーザ指定名前空間機能は使用できません。
-
J2EEサーバとCORBAネーミングサービスは同じタイミングで起動・停止するようにしてください。
J2EEサーバまたはCORBAネーミングサービスのどちらか一方がダウンした場合は,J2EEサーバとCORBAネーミングサービスを共に再起動してください。
-
CORBAネーミングサービスを共有する場合,ユーザ指定名前空間機能で指定する別名として「Cosminexus」は使用できません。
(3) J2EEリソースの別名を指定する場合の注意
-
別名を登録したJ2EEリソースを停止,削除,または属性変更(JavaMailセッションの場合)する場合は,J2EEサーバ上で開始されているすべてのJ2EEアプリケーションを先に停止してください。
-
J2EEリソースのユーザ指定名前空間機能を使用する場合,J2EEアプリケーションで生成するInitialContextで指定しているプロバイダURL(java.naming.provider.url)のホスト名と,J2EEサーバ側のサーバ定義に指定するejbserver.naming.hostキーの値は同じ文字列にしてください。なお,次の条件に当てはまる場合は,J2EEアプリケーションで生成しているInitialContextに対して,プロバイダURLを指定する必要はありません。
-
J2EEサーバ用ユーザプロパティファイルのejbserver.naming.hostキーに「localhost」(デフォルト値)を指定する。
-
同一J2EEサーバ上のネーミングサービスへ接続する。
ejbserver.naming.hostキーに「localhost」を指定していて,J2EEアプリケーションで生成しているInitialContextのプロバイダURLを指定する場合は,プロバイダURLのホスト名に次のAPIで取得できる値を指定してください。java.net.InetAddress.getLocalHost().getHostName();
-
-
J2EEリソースのユーザ指定名前空間機能では,別名の中に"/"文字を含めた場合も,ネーミングコンテキスト単位で検索できません。ルックアップ名称として使用できる文字列は,指定した別名だけです。
別名として"jdbc/TestDB"を付与してデプロイおよび開始しているJ2EEリソース(DB Connector)の場合に,使用できるJNDIのルックアップ名称と使用できないルックアップ名の例を次に示します。
- 使用できるルックアップ名の例
-
DataSource ds = (DataSource) initCtx.lookup("jdbc/TestDB");
- 使用できないルックアップ名の例
-
Context ctx = (Context) initCtx.lookup("jdbc");