ストリームは、MQSeries パブリッシュ/サブスクライブ・アプリケーションによって使用される、トピック区分化の方式です。 関連するトピックの集合がグループ化されて、個別のストリームになります。
ストリームを使用すると、トピックのグループごとに異なるセキュリティー管理を適用することができるので、ブローカーがパブリッシュするためのワークロードのバランスが改善されます。
WebSphere Business Integration Event Broker にはアプリケーションがこれら両方の動作を実行する他の方法も備わっていますが、ストリームの概念は MQRFH アプリケーションとの互換性のためにサポートされています。
WebSphere Business Integration Event Broker では、MQRFH クライアント・アプリケーションが MQPSStreamName コマンド・パラメーターを サブスクリプションおよびパブリケーションで指定できます。 ただし、ストリーム名は、MQSeries パブリッシュ/サブスクライブの区分化特性を保存するためにトピックを変更する目的のみに使用されます。
メッセージに関連したストリームの名前が SYSTEM.BROKER.DEFAULT.STREAM ではない場合、そのメッセージはメッセージ内で言及されたトピックに接頭部として ストリング $SYS/STREAM/<streamname>/ が付いているものとして処理されます。 たとえば、ストリーム名 StreamX を指定する Topic1 に対するサブスクリプションは、トピック $SYS/STREAM/StreamX/Topic1 に対するサブスクリプションが 行われたものとして処理されます。
さらに MQRFH2 パブリッシュおよびサブスクライブ・アプリケーションは、WebSphere Business Integration Event Broker ブローカーに送信するメッセージでストリーム名を指定することはできませんが、ストリーム関連のトピックをターゲットとすることができます。 この場合、トピックに適切なストリーム接頭部を付ける必要があります。
たとえば、MQRFH2 サブスクライバーは MQSeries パブリッシュ/サブスクライブ・ネットワーク内のストリーム STOCK.STREAM に パブリッシュされたトピック IBM/Latest にサブスクライブするために、トピック $SYS/STREAM/STOCK.STREAM/IBM/Latest を指定する必要があります。
MQSeries パブリッシュ/サブスクライブでは、ストリーム関連のパブリケーションをストリームと同じ名前のキュー だけに送信できます。 しかし WebSphere Business Integration Event Broker ではパブリッシュ元のクライアントがパブリケーションをメッセージ・フロー内の 任意の入力キューに送信できます。 パブリケーション内のストリーム名パラメーターを指定するために明示的に選択する MQRFH アプリケーションは、それを WebSphere Business Integration Event Broker ブローカーからサービスを受ける任意のパブリケーション・キューに送信できます。 キューの名前は、ストリームの名前と同じにする必要はありません。 ただし、この動作はパブリケーションを受信する順序に影響を与えることがあります。 このことがアプリケーションにとって重大であるかどうかを検討してください。
各パブリケーション・ノードには暗黙的ストリーム命名 (Implicit Stream Naming) プロパティーがあり、そのデフォルトは true です。 このデフォルト・オプションによって、MQRFH パブリケーションに明示的なストリーム名が含まれない 場合の MQSeries パブリッシュ/サブスクライブでの動作と同じ動作が生じます。 このプロパティーが false で、パブリケーションに明示的な ストリーム名が含まれない場合、ストリーム名として SYSTEM.BROKER.DEFAULT.STREAM が推定されます。
メッセージをパブリッシュする MQRFH および MQRFH2 の両方のクライアント・アプリケーション で使用可能なオプションを、以下の表に示します。 この表では、デフォルトのストリームのオプション、および StreamX という名前のストリーム例のオプションを示します。
MQRFH パブリッシャー | MQRFH2 パブリッシャー | |||
---|---|---|---|---|
デフォルトのストリーム | StreamX | デフォルトのストリーム | StreamX | |
MQRFH サブスクライバー | S1、P1 | S2、P2 | S1、P3 | S2、P4 |
MQRFH2 サブスクライバー | S3、P1 | S4、P2 | S3、P3 | S4、P4 |
MQSeries パブリッシュ/サブスクライブ・ネットワークでは、ブローカーは、近隣ブローカーと同じストリームのセットをサポートする必要はありません。 ブローカーが近隣ブローカーの 1 つがサポートするストリームをサポートしていない場合、そのストリームに関連したパブリケーションをそのブローカーのクライアントは使用できません。
WebSphere Business Integration Event Broker ブローカーがネットワークに結合すると、それは近隣 MQSeries パブリッシュ/サブスクライブ・ブローカーのすべてのストリームをサポートします。 つまり、WebSphere Business Integration Event Broker ブローカーのクライアントは、近隣 MQSeries パブリッシュ/サブスクライブがサポートするすべてのストリームを パブリケーションの宛先とすることができます。
しかし、これらのパブリケーションを使用可能にするには、WebSphere Business Integration Event Broker ブローカーにストリーム・キューを定義すること、およびそれらをサポートするメッセージ・フローを定義およびデプロイすることが必要です。
異機種のネットワーク
デフォルトのストリーム・キュー SYSTEM.BROKER.DEFAULT.STREAM は、MQSeries パブリッシュ/サブスクライブ・ネットワーク内のすべてのブローカーによって常にサポートされていて、異機種のネットワーク内にあるすべての WebSphere Business Integration Event Broker ブローカーで定義する必要があります。 各ブローカーでは、このキューにサービスを提供するためのメッセージ・フローを 定義およびデプロイする必要があります。
WebSphere Business Integration Event Brokerブローカーが MQSeries パブリッシュ/サブスクライブ・ネットワークに組み込まれて、ストリームを共用する 複数の MQSeries パブリッシュ/サブスクライブ・ブローカーがリンクされる場合、WebSphere Business Integration Event Broker ブローカーにストリーム・キューを定義すること、およびそれらにサービスを提供するメッセージ・フローを定義およびデプロイすることが必要です。
たとえば、WebSphere Business Integration Event Broker ブローカー NEWBROKER には BULLETIN.STREAM に定義されたストリーム・キューが必要です。 さらに、そのキューにパブリケーション・サービスを提供するためにメッセージ・フローが定義およびデプロイされている必要もあります。
MQSeries パブリッシュ/サブスクライブ・ブローカーが WebSphere Business Integration Event Broker ブローカーに (migmqbrk コマンドを使用して) マイグレーションされるとき、マイグレーションの際にサポートされているストリームは WebSphere Business Integration Event Broker 内に正確に複製されます。 その後に変更を行うことはできません。 つまり、この複製されたセットにストリームを追加したりそこからストリームを除去することはできません。 これらのストリームすべてを処理するメッセージ・フローを作成してデプロイするまで、マイグレーションは完了しません。
注意 |
商標 |
ダウンロード |
ライブラリー |
技術サポート |
フィードバック
![]() ![]() |
aq01180_ |