WebSphere Application Server for z/OS, Version 6.0.x   
             オペレーティング・システム: z/OS

             目次と検索結果のパーソナライズ化

例: JNDI を使用した EJB ホームのルックアップ

JNDI を使用するアプリケーションの多くはコンテナーで実行されます。 一部にはそうでないものもあります。 オブジェクトの検索に使用される名前は、アプリケーションがコンテナーで実行されるかどうかによって異なります。アプリケーションでは、ルックアップ名として corbaname URL を使用する方が便利な場合があります。コンテナー・ベースの JNDI クライアントおよび Java シン・クライアントは、corbaname URL を使用することができます。

以下の例は、さまざまなタイプのアプリケーションから JNDI ルックアップを実行する方法を示したものです。

コンテナーで実行されるアプリケーションからの JNDI ルックアップ

コンテナーで実行されるアプリケーションは、java: ルックアップ名を使用できます。 この形式のルックアップ名は、 オブジェクトの検索に使用されるルックアップ名が、 ネーム・サーバーのネーム・スペースにバインドされているためにオブジェクトの名前には依存しないという間接レベルを提供します。 アプリケーションのデプロイメント記述子は、java: 名とネーム・サーバーのルックアップ名からのマッピングを提供します。 コンテナーは、java: 名が対応するオブジェクトに正しくマップされるよう、 デプロイメント記述子の情報に基づき java: ネーム・スペースをセットアップします。

以下の例は、EJB ホームのルックアップを示しています。 実際のホームのルックアップ名は、 アプリケーションのデプロイメント記述子によって決定されます。 Enterprise Bean (EJB) は、 EJB コンテナーにあります。 このコンテナーでは、Bean とその Bean が置かれているアプリケーション・サーバーとの間の インターフェースが提供されます。

// Get the initial context as shown in a previous example
...
// Look up the home interface using the JNDI name
try {
   java.lang.Object ejbHome =
      initialContext.lookup(
         "java:comp/env/com/mycompany/accounting/AccountEJB");
   accountHome = (AccountHome)javax.rmi.PortableRemoteObject.narrow(
      (org.omg.CORBA.Object) ejbHome, AccountHome.class);
}
   catch (NamingException e) { // Error getting the home interface
   ...
}

コンテナーで実行されないアプリケーションからの JNDI ルックアップ

コンテナーで実行されないアプリケーションは、java: ルックアップ名を使用することはできません。 これは、コンテナーがアプリケーションの java: ネーム・スペースをセットアップするためです。 その代わり、 このようなアプリケーションは、ネーム・サーバーから直接オブジェクトを検索する必要があります。各アプリケーション・サーバーは、ネーム・サーバーを含んでいます。EJB ホームなどのシステム成果物は、そのネーム・サーバーのサーバー・ルート・コンテキストにバインドされています。各種のネーム・サーバーが、 システムのネーム・スペース構造により統合されています。異なるサーバーのオブジェクトをルックアップするには、 セル内のいずれの初期コンテキストからも名前解決されるよう、名前を修飾する方法をお勧めします。 相対名が使用されている場合、初期コンテキストは、オブジェクトがバインドされているサーバー・ルート・コンテキストと同じサーバー・ルート・コンテキストである必要があります。修飾名の形式は、その修飾名がトポロジー・ベースの名前か 固定名かによって異なります。以下の例は、修飾名の各形式を示しています。

corbaname URL を使用した JNDI ルックアップ

corbaname は、ルックアップ名として役立つ場合があります。例えば、ターゲット・オブジェクトが統合済みネーム・スペースのメンバーでなく、修飾名を使用して位置指定することができない場合、corbaname を使用すると、簡単にオブジェクトのルックアップを行うことができます。以下に、corbaname URL を使用したルックアップを示します。

// Get the initial context as shown in a previous example 
... 
// Look up the home interface using a corbaname URL 
try {
   java.lang.Object ejbHome = initialContext.lookup(
      "corbaname:iiop:someHost:2809#com/mycompany/accounting/AccountEJB"); 
   accountHome = (AccountHome)javax.rmi.PortableRemoteObject.narrow(
      (org.omg.CORBA.Object) ejbHome, AccountHome.class);
} 
catch (NamingException e) { // Error getting the home interface
   ... 
} 



関連概念
ネーム・スペースの論理ビュー
関連タスク
JNDI を使用するアプリケーションの開発
関連資料
デプロイメント記述子およびシン・クライアントにおけるルックアップ名のサポート
参照トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 10:52:11 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.zseries.doc/info/zseries/ae/rnam_example_prop3.html