Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerFlex Gateway新着情報
Governance新着情報
Monitoring API Manager2.x
Mule 4
3.9
1.1
2.x
1.2
7.x
3.0 (Mule 4)
3.9 (Mule 3)
1.0 (Mule 4)
1.3 (Mule 4)
1.0 (Mule 4)
1.0 (Mule 4)
2.2 (Mule 4)
1.0 (Mule 4)
1.0 (Mule 4)
1.0 (Mule 4)
1.0 (Mule 4)
3.0 (Mule 4)
1.0 (Mule 4)
1.0 (Mule 4)
1.0 (Mule 4)
1.0 (Mule 4)
3.9 (Mule 3)
1.0 (Mule 4)
1.1 (Mule 4)
6.0 (Mule 4)
2.3 (Mule 4)
3.9 (Mule 3)
1.0 (Mule 4)
1.2 (Mule 4)
3.9 (Mule 3)
1.0 (Mule 4)
1.0 (Mule 4)
2.0 (Mule 4)
3.2 (Mule 4)
2.1 (Mule 4)
1.0 (Mule 4)
3.9 (Mule 3)
3.9 (Mule 3)
3.9 (Mule 3)
1.0 (Mule 4)
1.0 (Mule 4)
3.0 (Mule 4)
1.0 (Mule 4)
1.1 (Mule 4)
3.1 (Mule 4)
3.9 (Mule 3)
3.9 (Mule 3)
1.0 (Mule 4)
1.0 (Mule 4)
1.0 (Mule 4)
3.9 (Mule 3)
1.1 (Mule 4)
1.0 (Mule 4)
1.2 (Mule 4)
1.3 (Mule 4)
1.0 (Mule 4)
3.9 (Mule 3)
1.0 (Mule 4)
2.0 (Mule 4)
1.2 (Mule 4)
2.0 (Mule 4)
1.0 (Mule 4)
3.9 (Mule 3)
1.0 (Mule 4)
1.0 (Mule 4)
トピックサブスクリプションの設定
トピックサブスクリプションの設定
IBM MQ のトピックを使用すると、コンシューマーの接続に関するサブスクリプションの動作と、コンシューマー間の相互動作を設定できます。
IBM MQ Connector では、consumer
操作と listener
操作の両方で topic-consumer
設定を使用して、トピックサブスクリプションのいろいろな側面を処理できます。
永続的サブスクリプションでは、コンシューマーがオフラインのときにトピックにパブリッシュされたメッセージも受信できます。 永続的サブスクリプションが登録されると、コンシューマーがオンラインになるたびに、接続の確立前にパブリッシュされていたすべてのメッセージを受信します。
<ibm-mq:consume config-ref="JMS_config" destination="#[vars.destination]">
<ibm-mq:consumer-type>
<ibm-mq:topic-consumer durable="true" subscriptionName="SampleSub"/>
</ibm-mq:consumer-type>
</ibm-mq:consume>
xml
IBM MQ は、キューに送信されたメッセージと同じように、トピックに対してパブリッシュされたメッセージを格納します。このアプリケーションまたは別のアプリケーションによって同じ接続およびそのクライアント ID、同じトピック、同じサブスクリプション名を使用して topic-consumer
が作成された場合、そのサブスクリプションは再アクティブ化され、IBM MQ はサブスクライバーが非アクティブだった期間中にパブリッシュされたメッセージを配信します。
JMS 1.1 では、トピックのサブスクリプションで同時に複数のコンシューマーを有効にすることができなかったため、トピックサブスクリプションのメッセージ処理を共有できず、アプリケーションの拡張性を制限する要因となっていました。 JMS 2.0 では、共有サブスクリプションの導入によって、この制限を撤廃しています。
IBM MQ Connector を JMS 2.0 接続で設定すると、任意の topic-consumer
を shared
サブスクリプションの一部として宣言できます。
<ibm-mq:listener config-ref="config" destination="InvoiceEventsTopic">
<ibm-mq:consumer-type>
<ibm-mq:topic-consumer shared="true" subscriptionName="ClusterSubscription"/>
</ibm-mq:consumer-type>
</ibm-mq:listener>
xml
この 2 つの異なる listener
インスタンスに対する設定により、メッセージがインボイス宛先にパブリッシュされると、2 つのリスナーのどちらかにのみ配信され、他方には配信されません。
アプリケーションがトピックにパブリッシュしたメッセージを、同じアプリケーションが受信しないようにしたいケースがあります。この場合は、topic-consumer
で noLocal
パラメーターを使用することにより、コンシューマーが同じ接続経由でトピックにパブリッシュされたメッセージを受信しなくなります。
<ibm-mq:listener config-ref="config" destination="${notificationsChannel}">
<ibm-mq:consumer-type>
<ibm-mq:topic-consumer noLocal="true"/>
</ibm-mq:consumer-type>
</ibm-mq:listener>
xml
noLocal
として設定されているコンシューマーを shared
サブスクリプションの一部に加えることはできません。