WebSphere® MQ パブリッシュ/サブスクライブは、トピックのネーム・スペースを区分する手段として、主にストリームを使用します。 関連するトピック群は、個別のストリームにグループとしてまとめることができます。ストリームごとに異なるセキュリティー管理を適用することができるので、ブローカーがパブリッシュするためのワークロードのバランスが改善されます。
WebSphere Message Broker にはアプリケーションがこれら両方の動作を実行する、より柔軟な制御も備わっていますが、ストリームの概念は MQRFH アプリケーションとの互換性のためにサポートされています。
WebSphere Message Broker のセキュリティー管理機能により、 個々のトピック・レベルに許可を適用することができます。 さらに、ブローカーのパブリッシュ・ワークロードを、同じまたは異なる入力キューとして機能する、 パブリケーション・メッセージ・フローの追加インスタンスを作成することにより、より容易に管理することもできます。
WebSphere Message Broker では、MQRFH クライアント・アプリケーションが MQPSStreamName コマンド・パラメーターを サブスクリプションおよびパブリケーションで指定できます。 ただし、ストリーム名は、WebSphere MQ パブリッシュ/サブスクライブの区分化特性を保存するためにトピックを変更する目的のみに使用されます。
メッセージに関連したストリーム名が SYSTEM.BROKER.DEFAULT.STREAM 以外に設定される場合、そのメッセージはメッセージ内で言及されたトピックに接頭部としてストリング "$SYS/STREAM/<streamname>/" が付いているものとして処理されます。つまり、ストリーム名 StreamX を指定する Topic1 に対するサブスクリプションは、トピック「$SYS/STREAM/StreamX/Topic1」に対するサブスクリプションであるかのように処理されます。
さらに MQRFH2 パブリッシュおよびサブスクライブ・アプリケーションは、WebSphere Message Broker ブローカーに送信するメッセージでストリーム名を指定することはできませんが、ストリーム関連のトピックをターゲットとすることができます。 この場合、トピックに適切なストリーム接頭部を付ける必要があります。
例えば、WebSphere MQ パブリッシュ/サブスクライブ・ネットワーク内のストリーム STOCK.STREAM にパブリッシュされたトピック IBM/Latest にサブスクライブするために、 MQRFH2 サブスクライバーはトピック $SYS/STREAM/STOCK.STREAM/IBM/Latest を指定する必要があります。
WebSphere MQ パブリッシュ/サブスクライブでは、ストリーム関連のパブリケーションをストリームと同じ名前のキュー だけに送信できます。 しかし WebSphere Message Broker ではパブリッシュ元のクライアントがパブリケーションをメッセージ・フロー内の 任意の入力キューに送信できます。 パブリケーション内のストリーム名パラメーターを指定するために明示的に選択する MQRFH アプリケーションは、それを WebSphere Message Broker ブローカーからサービスを受ける任意のパブリケーション・キューに送信できます。 キューの名前は、ストリームの名前と同じにする必要はありません。 ただし、この動作はパブリケーションを受信する順序に影響を与えることがあります。 このことがアプリケーションにとって重大であるかどうかを検討してください。
パブリケーションを受け取る順序は期待するものと異なるかもしれないということに注意してください。
各パブリケーション・ノードには暗黙的ストリーム命名 プロパティーがあり、そのデフォルトは true です。 このデフォルト・オプションによって、MQRFH パブリケーションに明示的なストリーム名が含まれない 場合の WebSphere MQ パブリッシュ/サブスクライブでの動作と同じ動作が生じます。 このプロパティーが false で、パブリケーションに明示的な ストリーム名が含まれない場合、ストリーム名として SYSTEM.BROKER.DEFAULT.STREAM が推定されます。
MQRFH パブリッシャー | MQRFH2 パブリッシャー | |||
---|---|---|---|---|
デフォルトのストリーム | StreamX | デフォルトのストリーム | StreamX | |
MQRFH サブスクライバー | S1、P1 | S2、P2 | S1、P3 | S2、P4 |
MQRFH2 サブスクライバー | S3、P1 | S4、P2 | S3、P3 | S4、P4 |