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