プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Server JMSリソース・アダプタの管理
12c (12.2.1.1.0)
E79372-01
目次へ移動
目次

前
次

自動宛先ラッピングの使用

自動宛先ラッピングを使用すると、管理対象オブジェクトはプロバイダの宛先を自動的にラップでき、管理対象オブジェクトをプロバイダの宛先ごとに作成する必要がなくなり、管理対象オブジェクトを宛先のJNDIに明示的にバインドします。1つの管理対象オブジェクトがリソース・プロバイダごとに定義されるので、JNDIのURLを動的に構築して、このコンテキスト内の各宛先をアクセスできます。

アプリケーションは、JNDIにバインドされているJMSリソース・アダプタの管理対象オブジェクトをルックアップします。これらの管理対象オブジェクトはJMS宛先または宛先コンテキストを表す場合があります。JMS宛先として使用する場合は、JMS宛先ごとに1つの管理対象オブジェクトを定義する必要があります。アプリケーションが20個のJMS宛先を使用している場合には、個別の管理対象オブジェクトを20個(各宛先に1つ)作成する必要があります。また、アプリケーションは、これらの20個のJMS宛先を定義して、それらのJava EEディスクリプタにresource-env-referencesとしてマップする必要があります。

宛先コンテキスト管理対象オブジェクトを使用すると、単一の宛先コンテキストを統合でき、これがJMSプロバイダとして機能するWebLogic Serverインスタンスで任意の数のJMS宛先をルックアップするために使用されます。アプリケーションが宛先コンテキストに対して定義する必要があるresource-env-refマッピングは1つのみです。アプリケーションは、宛先コンテキストをルックアップして、宛先にリモートのWebLogic JNDI名を追加します。

自動宛先ラッピングにより、次のような場合に構成が簡略化されます。

たとえば、WebLogic JMSサーバーを表す管理対象オブジェクトは、外部のアプリケーション・サーバーでJNDI名myContextにバインドされます。JNDI名がjms/barのWebLogic JMS宛先がこのWebLogic Server JNDIツリー内に構成されている場合、自動宛先ラッピングは外部サーバーのJNDIルックアップ内のmyContext/jms/barを使用します。

次に、キューの自動ラッピングの例を示します。

. . .
<adminobject-config location="myContext">
   <adminobject-class>weblogic.jms.ra.WLDestinationContext</adminobject-class>
   <config-property name="group" value="wls"/>
   <config-property name="rpContextLocation" value="connector:{rp_name}/"/>
</adminobject-config> 
. . .

前の例で、rp_namera.xmlファイルで定義されているリソース・プロバイダの名前です。詳細は、管理対象オブジェクト構成のプロパティを参照してください。

アプリケーション内で、javax.naming.ContextとしてmyContextをルックアップします。

. . .
@Resource(mappedName="myContext")
private javax.naming.Context wljmsraContext;
. . .

これで、次のコンテキストを使用してキュー宛先をルックアップできます。

. . .
Queue theMdbQueue = (Queue) wlraContext.lookup("com.oracle.jms.qa.myQ1");
. . .