JNDI インターオペラビリティーの考慮事項
プログラムが、製品以外の JNDI クライアントと相互運用し、MQSeries® からのリソースを名前空間にバインドできるようにするには、追加のステップを実行する必要があります。
WebSphere Application Server 以外の環境で稼働している EJB クライアントから製品サーバーで稼働している EJB アプリケーションへのアクセス
WebSphere® Application Server で稼働するエンタープライズ Bean (EJB) アプリケーションに、製品以外の EJB クライアントからアクセスする場合、JNDI 初期コンテキスト・ファクトリーは、製品以外の実装であることが前提となります。 この場合、デフォルトの初期コンテキストはセル・ルートです。 使用されている JNDI サービス・プロバイダーが CORBA オブジェクト URL をサポートする場合、corbaname フォーマットを使用して EJB ホームの検索を行うことができます。
stringified 名の構成は、オブジェクトが単一サーバーにインストールされているか、クラスターにインストールされているかによって異なります。
- 単一サーバー
- 以下は、ブートストラップ・ホスト myHost、ポート 2809 と、
ノード node1 内のサーバー server1 にインストールされ、
このサーバーで myEJB という名前でバインドされているエンタープライズ Bean を持つ URL です。
initialContext.lookup( "corbaname:iiop:myHost:2809#cell/nodes/node1/servers/server1/myEJB");
- サーバー・クラスター
- 以下は、ブートストラップ・ホスト myHost、ポート 2809 と、
myCluster という名前のサーバー・クラスターにインストールされ、
このクラスターで myEJB という名前でバインドされているエンタープライズ Bean を持つ URL です。
initialContext.lookup( "corbaname:iiop:myHost:2809#cell/clusters/myCluster/myEJB");
この検索は、 同じセルに構成されたすべてのネーム・サーバー・ブートストラップ・ホストおよびポートで機能します。
この検索は、ブートストラップ・ホストおよびポートがクラスター自体のメンバーに属す場合にも機能します。 Single Point of Failure (SPOF) を避けるには、 各クラスター・メンバーのブートストラップ・サーバー・ホストおよびポートを次のように URL にリストできます。
initialContext.lookup( "corbaname:iiop:host1:9810,:host2:9810#cell/clusters/myCluster/myEJB");
名前接頭部 cell/clusters/myCluster/ は、クラスター自体へのブートストラップの場合は必要なく、 接頭部がなくても機能します。ただし、他のクラスターの エンタープライズ Bean の検索には接頭部が 必要です。clusters コンテキストの下のネーム・バインディングは、検索中に実行されているクラスター・メンバーのサーバー・ルートに解決されるネーム・サーバーに実装されます。このため、Single Point of Failure (SPOF) が回避されます。
- CORBA オブジェクトの URL サポートがない場合
- 使用される JNDI 初期コンテキスト・ファクトリーが CORBA オブジェクト
URL をサポートしない場合、初期コンテキストはサーバーから取得でき、次のように初期コンテキストで検索を行うことができます。
Hashtable env = new Hashtable(); env.put(CONTEXT.PROVIDER_URL, "iiop://myHost:2809"); Context ic = new InitialContext(env); Object o = ic.lookup("cell/clusters/myCluster/myEJB");
MQSeries 5.2 のリソースのバインディング
WebSphere Application Server バージョン 5.0 より前のリリースでは、MQSeries jmsadmin ツールを使用して、名前空間にリソースをバインドできました。WebSphere Application Server の名前空間で使用すると、リソースは、その名前空間内の一時的な区画内にバインドされ、サーバー・プロセスの存続期間を超えて持続することはありません。jmsadmin ツールを使用して MQSeries リソースをバインドする代わりに、管理コンソールから、コンソールのナビゲーション・ツリーの「リソース」でバインドします。