ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic ServerメッセージドリブンBeanのプログラミング
11g リリース1 (10.3.6)
B61425-04
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

B トピック・サブスクリプション識別子

JMSでは、サブスクリプションは、(a)関連付けられるトピック、(b)サブスクリプションのアクセスに使用される接続に指定される接続「クライアントID」文字列、(c)恒久サブスクリプションを使用する場合に、恒久サブスクリプションの作成時に指定されるサブスクリプション名、に基づいて識別および検索されます。

さらに、WebLogic JMSでは、サブスクリプションは(d)「クライアントIDポリシー」オプションによっても識別されます。同一物理トピック上の2つのWebLogic JMSサブスクリプション参照が、同一のクライアントIDとサブスクリプション名を持つ場合、その参照は、クライアントIDポリシーも同一の場合には単一のサブスクリプションになり、クライアントIDポリシーが異なる場合は2つの異なるサブスクリプションになります。

WebLogicのMDBコンテナは、次の設定に基づいてa、b、c、およびdを自動的に生成します。

前述の最後の4つの設定は、互換性モードのMDBにのみ適用されます。

表B-1は、設定がサブスクリプションIDの生成に使用される仕組みをまとめています。

表B-1 サブスクリプションIDが生成される仕組み

設定 ClientID 恒久サブスクリプションの場合のサブスクリプション名 WebLogicトピックのクライアントIDポリシー

キー:

  • jms-client-id = MDB記述子またはアノテーションによって設定されるオプションのMDB属性文字列。あるいは(ただし、稀ですが)、jms-client-idは、結果的に構成済のclient-idを持つカスタムJMS接続ファクトリを参照するためにMDBを変更することによって、設定できます。

  • ejb-name = EJB名

  • jmsClientIDBase = jms-client-id (ユーザーによって指定される場合)またはejb-name (jms-client-idが指定されない場合)

  • currentDomainName = MDBを実行するWebLogicドメイン名

  • currentServerName = MDBが実行中のWebLogic Server名

  • uniqueKey = MDBデプロイメント要素のいくつかを含む文字列。おそらくはcurrentServerNameであり、それに加えて、宛先が移行可能ターゲットを使用しているJMSサーバーによってホストされるWebLogic宛先であれば、この移行可能ターゲット名を含みます。

  • DDMemberName = 分散宛先メンバー名。あるいは、トピックがシングルトンまたはWebLogic Server 10.3.4より前のリリースの分散宛先の場合には、宛先名。

topicMessagesDistributionMode = One-Copy-Per-Application

jmsClientIDBase

ejb-name

非制限

topicMessagesDistributionMode = One-Copy-Per-Server

jmsClientIDBase

+ "_"

+ currentDomainName

+ "_"

+ currentServerName

ejb-name

非制限

topicMessagesDistributionMode = Compatibility

generateUniqueClientID = true

distributedDestinationConnection = LocalOnly

subscriptionDurability = Durable脚注1

jmsClientIDBase

+ "_"

+ currentDomainName

+ "_"

+ uniqueKey

ClientIdと同一

制限

次を除いて前の行と同一。

distributedDestinationConnection = EveryMember

jmsClientIDBase

+ "_"

+ currentDomainName

+ "_"

+ uniqueKey

+ "_"

+ DDMemberName

ClientIdと同一

制限

topicMessagesDistributionMode = Compatibility

generateUniqueClientID = false

subscriptionDurability = Durable脚注1

jmsClientIDBase

ClientIdと同一

制限


脚注1 非恒久互換性モードのMDBは、クライアントIDまたはサブスクリプション名を設定せず、デフォルト制限クライアントIDポリシーを使用します。

クライアントIDの一意性は次のとおりに強制されます。