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

前
次

3 Oracle GlassFish ServerでのJMSリソース・アダプタの管理

次の各項では、外部アプリケーション・サーバーでWebLogic JMSを使用して相互運用するために、JMSリソース・アダプタを使用する際に必要な主要コンポーネント、設計オプションおよびその他の前提条件としての考慮点を含む、JMSリソース・アダプタ実装について説明します。

JMSリソース・アダプタ・コンポーネント

JMSリソース・アダプタには次のコンポーネントがあります。

  • ra.xmlファイル: 外部アプリケーション・サーバーとWebLogic JMSの間で相互運用するために、JMSリソース・アダプタを構成する際に使用されるxmlファイルです。

  • wlthint3client.jarファイル: WebLogicシンT3 Javaクライアントは、外部アプリケーション・サーバーおよびWebLogic Server上で実行されるアプリケーション間の統合を提供する、軽量のクライアントです。一般的なユースケースの1つに、WebLogic JMS宛先との統合があります。

    詳細は、Oracle WebLogic Serverスタンドアロン・クライアントの開発のWebLogicシンT3クライアントの理解を参照してください。

  • Oracleウォレットのサポート用の次のクラス・ファイルとJARファイル:

    • oraclepki.jar

    • osdt_cert.jar

    • osdt_core.jar

    • WalletUtilWrapper.class

    詳細は、Oracleウォレットを使用した資格証明の保護を参照してください。

  • weblogic.jms.ra.jarファイル: Java EE Connector Architectureバージョン1.7に準拠したWebLogic Serverリソース・アダプタの実装。

JMS環境でJMSリソース・アダプタを統合する方法

次のタスクを実行してJMSリソース・アダプタを外部アプリケーション・サーバーと統合し、アプリケーションがWebLogic JMSと相互運用できるようにするのに必要な手順の基本的な概要を説明します。

一般的な制限および考慮点

JMSリソース・アダプタを使用する場合は、次の考慮点と制限に注意してください。

  • 2つ以上のJMSリソース・アダプタが同じアプリケーション・サーバー上にデプロイされている場合、それらのデプロイメントでwljmsra.rarファイルの同じバージョンのOracle WebLogic Serverを使用する必要があります。異なるリリース・バージョンのJMSリソース・アダプタには、予測できない結果を引き起こす可能性がある差異が含まれている場合があります。

  • リスニング・メッセージドリブンBean (MDB)が使用不可能になった場合、JMSリソース・アダプタによって恒久サブスクライバが自動的にサブスクライブ解除(つまり削除)されることはありません。WebLogic Server MDBはサブスクライブ解除の機能をサポートしていますが、サブスクリプションを作成して名前を付けることもできます。外部アプリケーション・サーバーを使用すると、通常ユーザーはMDB構成でサブスクリプション名を指定できるため、指定された恒久サブスクライバのサブスクライブ解除が適切であるかどうかを判断することが困難になります。指定されたサブスクリプションの削除が適切であると判断できた場合でも、Java Connector Architecture規約では、サブスクライバを削除するためのコールバック・インタフェースの標準実装は提供されません。

  • JMSクライアントの自動フェイルオーバーはサポートされていません。

    詳細は、JMSリソース・アダプタ・アウトバウンド接続の制限を参照してください。

  • WebLogic JMSリソース・アダプタを自動的に使用するアプリケーションは、外部アプリケーション・サーバーの接続マネージャに関連付けられているWebLogic JMS接続を使用します。様々なJava EE仕様で説明されているように、これらのJMSの管理対象接続は、他のアプリケーションによって再利用するために、作成および使用され、外部アプリケーション・サーバーの接続プールに返されます。これには次の制限があります。

    • 接続上でのsetClientIDメソッドの使用はサポートされていません。接続上にClientIDプロパティが設定されている場合、接続は削除できないため、その接続を再利用するすべてのアプリケーションはClientID値を取得することになります。また、このような接続を使用するアプリケーションでは、すでにこの操作が実行されているためsetClientIDメソッドを接続上で呼び出すことはできません。

    • Java EE 7仕様で指定されているように、setExceptionListenerなどのコンテナによる接続管理を妨げる可能性のあるその他のメソッドはサポートされていません。

    • 接続ファクトリの設定の一部として、たとえばsetSubscriptionSharingPolicyメソッドを使用して接続プロパティを設定する必要があります。そうでない場合、接続上でプロパティを直接設定する前に、管理対象接続プールに接続およびセッションが作成されていることを確認する必要があります。

  • MDBのメッセージ・リスナーを構成する場合、<trans-attribute>要素に使用できる値は、REQUIREDおよびNOT_SUPPORTEDのみです。

    詳細は、次のURLでTransactionAttributeTypeに列挙されたタイプの説明を参照してください。

    http://docs.oracle.com/javaee/7/api/javax/ejb/TransactionAttributeType.html

weblogic.jms.extension APIのサポート

次の各項では、JMSリソース・アダプタがweblogic.jms.extensions APIをサポートする方法について説明します。

サポートされているweblogic.jms.extensionインタフェース

JMSリソース・アダプタはカスタム・ラッパー・クラスを使用してweblogic.jms.extensionsインタフェースを自動的に実装し、順序単位(UOO)やメッセージ・スケジューリングなどのWebLogic機能をサポートします。JMSリソース・アダプタra.xmlファイルには、適切なWebLogic JMSラッパー・クラスに対応するエントリが事前に入力されているため、サポートされているWebLogic JMS機能にアクセスするための追加の構成は必要ありません。

注意:

weblogic.jms.extensions APIを使用する場合、JMSリソース・アダプタの接続ファクトリに説明されているようにWebLogic接続ファクトリを使用します。

JMSリソース・アダプタでは、次のweblogic.jms.extensionsインタフェースをサポートしています。

  • weblogic.jms.extensions.WLConnection

  • weblogic.jms.extensions.WLSession

  • weblogic.jms.extensions.WLQueueSession

  • weblogic.jms.extensions.WLTopicSession

  • weblogic.jms.extensions.WLDestination

  • weblogic.jms.extensions.WLMessageProducer

  • weblogic.jms.extensions.WLMessage

  • weblogic.jms.extensions.XMLMessage

サポートされているweblogic.jms.extensionクラス

JMSリソース・アダプタでは、次のweblogic.jms.extensionsクラスをサポートしています。

  • weblogic.jms.extensions.ClientSAFEncrypt

  • weblogic.jms.extensions.ClientSAFFactory

  • weblogic.jms.extensions.ClientSAFGenerate

  • weblogic.jms.extensions.ClientSAFParser

  • weblogic.jms.extensions.ConsumerInfo

  • weblogic.jms.extensions.DestinationInfo

  • weblogic.jms.extensions.JMSDestinationAvailabilityHelper

  • weblogic.jms.extensions.JMSHelper

  • weblogic.jms.extensions.JMSMessageFactoryImpl

  • weblogic.jms.extensions.JMSMessageInfo

  • weblogic.jms.extensions.JMSModuleHelper

  • weblogic.jms.extensions.JMSRuntimeHelper

  • weblogic.jms.extensions.Schedule

JMSリソース・アダプタのサンプル

Oracleでは、WebLogicのサンプル・コンポーネントをインストールして構成するときに使用できるJMSリソース・アダプタのサンプルを提供します。このサンプルは、外部アプリケーション・サーバーにデプロイされたJMSリソース・アダプタを使用する方法を示しています。このサンプルは、単純な従業員クロックイン・アプリケーションを使用してWebLogic JMSサービスと相互運用する方法を示しています。

このサンプルは、次の方法を示します。

  • WebLogic Serverクラスタの構成および使用

  • WebLogic接続ファクトリの構成および使用

  • 分散トピックとキューの構成および使用

  • サポートされているアプリケーション・サーバーにリストされた、サポートされている外部アプリケーション・サーバーへのJMSリソース・アダプタのデプロイ。

  • 次を指定するJMSリソース・アダプタconfig-propertiesファイルの構成

    • JMSサービスを提供するWebLogic ServerインスタンスのWebLogic JNDIコンテキスト

    • DistributedQueueとしてWebLogic JNDIにバインドされている宛先に、ローカルJNDI名sample/destination/queueをマッピングするadminobject要素

    • DistributedTopicとしてWebLogic JNDIにバインドされている宛先に、ローカルJNDI名sample/destination/topicをマッピングするadminobject要素

    • weblogic.jms.ConnectionFactoryとしてWebLogic JNDIにバインドされている接続ファクトリにマッピングされる、sampleまたはfactoryとしてローカルJNDI名にバインドされている接続ファクトリ

  • JMSリソース・アダプタの接続ファクトリおよび宛先に定義されているローカルJNDI名にマッピングされる、サーブレットのweb.xmlデプロイメント・ディスクリプタ・ファイルの要素resource-refおよびresource-env-refの構成

  • MDBがインバウンド・メッセージを消費できるために必要なactivation-config要素の構成

インストールされると、JMSリソース・アダプタのサンプルはORACLE_HOME\wl_server\samples\server\examples\src\samples\jms\resourceAdapterにあります。詳細は、Oracle WebLogic Serverの理解のサンプル・アプリケーションとコード例を参照してください。