WebSphere Application Server, Version 6.0.x   
             オペレーティング・システム: AIX , HP-UX, Linux, Solaris, Windows

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

例: プロバイダー URL プロパティーの設定による初期コンテキストの取得

通常、JNDI クライアントは、正しい環境が既に構成されているため、 明示的にプロパティー値を設定して、 これらを InitialContext コンストラクターに渡す必要はないことを前提としています。しかし、JNDI クライアントは、 その環境で識別されたネーム・スペース以外のネーム・スペースにアクセスしなければならない場合があります。 このような場合は、InitialContext コンストラクターが使用する java.naming.provider.url (プロバイダー URL) プロパティーを明示的に設定する必要があります。 プロバイダー URL には、 初期コンテキストを取得するために、 初期コンテキスト・ファクトリーが使用できるブートストラップ・サーバー情報が入っています。 InitialContext コンストラクターに直接渡されたプロパティー値はいずれも、 その環境内の他のところで検出された同じプロパティーの設定より優先されます。

WebSphere Application Server の 初期コンテキスト・ファクトリーでは、 以下の 2 つの異なるプロバイダー URL 形式を使用できます。

CORBA オブジェクト URL は IIOP URL よりも柔軟性があり、 使用する場合の推奨 URL 形式です。 CORBA オブジェクト URL は、OMG CosNaming Interoperable Naming Specification の一部です。 例えば、corbaname URL には、 初期コンテキストおよびルックアップ名の 情報を含めることができるので、 他の初期コンテキストを明示的に取得せずに、 ルックアップ名として使用することができます。 IIOP URL は、JNDI のレガシー・フォーマットですが、 WebSphere Application Server の 初期コンテキスト・ファクトリーによって、引き続きサポートされています。

以下の例は、これらの URL の使用法を示しています。

CORBA オブジェクト URL の使用

次の例は、CORBA オブジェクト URL を示しています。

...
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.InitialContext;
...
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
     "com.ibm.websphere.naming.WsnInitialContextFactory");
env.put(Context.PROVIDER_URL, "corbaloc:iiop:myhost.mycompany.com:2809");
Context initialContext = new InitialContext(env);
...

WebSphere Application Server 以外の JNDI 実装から CORBA オブジェクト URL を使用する

CosNaming JNDI プラグイン実装の初期コンテキスト・ファクトリー (WebSphere Application Server の 初期コンテキスト・ファクトリーを除く) は、 ほとんどの場合、オブジェクト・キー NameService を使用して、 初期コンテキストを取得します。 このようなコンテキスト・ファクトリーを使用して、WebSphere Application Server ネーム・サーバーから初期コンテキストを取得する場合、 初期コンテキストはセル・ルート・コンテキストになります。 サーバーに関連した EJB ホームなどのシステム成果物は、サーバーのサーバー・ルート・コンテキストの下にバインドされ、JNDI オペレーションで使用される名前は修飾されている必要があります。 相対名を使用する場合、初期コンテキストが、ターゲット・オブジェクトのバインドされているサーバー・ルート・コンテキストであることを確認してください。サーバー・ルート・コンテキストを初期コンテキストにするには、オブジェクト・キー NameServiceServerRoot を使用して corbaloc プロバイダー URL を指定します。

この例の CORBA オブジェクト・タイプ URL は、 WebSphere Application Server 以外の JNDI 実装のものです。 この例では、WebSphere Application Server 以外の JNDI 実装によって、CORBA オブジェクト URL が 完全にサポートされていることが前提となります。 オブジェクト・キー NameServiceServerRoot は、初期コンテキストが、指定したサーバーのサーバー・ルート・コンテキストになるように指定します。

...
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.InitialContext;
...
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
      "com.somecompany.naming.TheirInitialContextFactory");
env.put(Context.PROVIDER_URL, "corbaname:iiop:myhost.mycompany.com:9810/NameServiceServerRoot");
Context initialContext = new InitialContext(env);
...

修飾名が指定された場合は、NameService のデフォルト・キーを使用することができます。

IIOP URL の使用

IIOP タイプの URL は、レガシー・フォーマットであり、CORBA オブジェクト URL ほど柔軟性はありません。 しかし、このタイプの URL はまだサポートされています。 以下の例は、プロバイダー URL として IIOP タイプの URL を示しています。

...
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.InitialContext;
...
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
     "com.ibm.websphere.naming.WsnInitialContextFactory");
env.put(Context.PROVIDER_URL, "iiop://myhost.mycompany.com:2809");
Context initialContext = new InitialContext(env);
...



参照トピック    

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

最終更新: Jan 22, 2008 12:07:38 AM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.base.doc/info/aes/ae/rnam_example_prop2.html