WebSphere MQ Publish/Subscribe verwendet Datenströme in erster Linie als eine Methode, den Themennamespace zu partitionieren. Gruppen mit verwandten Themen werden in separaten Datenströmen zusammengefasst. Es können verschiedene Sicherheitsmaßnahmen für verschiedene Datenströme angewendet werden, und die Auslastung des Brokers bei der Veröffentlichung kann einfacher verteilt werden.
Zwar bietet WebSphere Message Broker Anwendungen flexiblere Möglichkeiten, diese Ziele zu erreichen, aus Gründen der Kompatibilität mit MQRFH-Anwendungen wird jedoch das Datenstromkonzept unterstützt.
Mit Hilfe der Sicherheitseinstellungen von WebSphere Message Broker können Berechtigungen für einzelne Themenebenen festgelegt werden. Außerdem kann die Auslastung des Brokers für Veröffentlichungen leichter gesteuert werden, indem zusätzliche Instanzen von Veröffentlichungsnachrichtenflüssen erstellt werden, die entweder dieselben oder andere Eingabewarteschlangen bedienen.
WebSphere Message Broker ermöglicht es MQRFH-Clientanwendungen, den Befehlsparameter MQPSStreamName in ihren Subskriptionen und Veröffentlichungen anzugeben. Der Datenstromname wird jedoch nur zum Ändern des Themas verwendet, um das Partitionierungsmerkmal von WebSphere MQ Publish/Subscribe zu erhalten.
Wenn der Name eines Datenstroms, der einer Nachricht zugeordnet ist, auf einen anderen Wert als SYSTEM.BROKER.DEFAULT.STREAM gesetzt ist, wird die Nachricht so verarbeitet, als wäre dem in der Nachricht genannten Thema (oder den Themen) die Zeichenfolge '$SYS/STREAM/<Datenstromname>/' als Präfix vorangestellt. Das heißt, eine Subskription für das Thema 'Thema1', das den Datenstromnamen 'DatenstromX' angibt, wird so verarbeitet, als wäre die Subskription für das Thema '$SYS/STREAM/DatenstromX/Thema1' eingerichtet worden.
Veröffentlichende und subskribierende MQRFH2-Anwendungen können ebenfalls datenstrombezogene Themen adressieren, auch wenn sie selbst in den Nachrichten, die sie an den WebSphere Message Broker-Broker senden, keinen Datenstromnamen angeben können. Zu diesem Zweck müssen sie die Themen mit dem geeigneten Datenstrompräfix versehen.
Beispielsweise muss ein MQRFH2-Subskribent das Thema '$SYS/STREAM/STOCK.STREAM/IBM/Latest' angeben, um das Thema 'IBM/Latest', das im Datenstrom STOCK.STREAM innerhalb des WebSphere MQ Publish/Subscribe-Netzes veröffentlicht wird, zu subskribieren.
Bei WebSphere MQ Publish/Subscribe kann eine datenstrombezogene Veröffentlichung nur an eine Warteschlange gesendet werden, die denselben Namen wie der Datenstrom hat. Dagegen lässt WebSphere Message Broker zu, dass veröffentlichende Clients ihre Veröffentlichungen an jede beliebige Warteschlange in einem Nachrichtenfluss senden. MQRFH-Anwendungen, die in einer Veröffentlichung explizit einen Datenstromnamen als Parameter angeben, können diese Veröffentlichung an jede Veröffentlichungswarteschlange senden, die vom WebSphere Message Broker-Broker bedient wird. Der Name der Warteschlange muss nicht mit dem Namen des Datenstroms übereinstimmen. Diese Vorgehensweise kann jedoch die Reihenfolge, in der Veröffentlichungen empfangen werden, beeinflussen. Prüfen Sie, ob dies für Ihre Anwendungen von Bedeutung ist.
Beachten Sie, dass die Reihenfolge, in der Veröffentlichungen empfangen werden, möglicherweise anders ist als erwartet.
Jeder Veröffentlichungsknoten hat die Eigenschaft Implizite Datenstrombenennung, die standardmäßig auf true (wahr) gesetzt wird. Diese Standardoption hat ein Verhalten zur Folge, dass mit dem in WebSphere MQ Publish/Subscribe identisch ist, wenn eine MQRFH-Veröffentlichung keinen expliziten Datenstromnamen enthält. Wenn diese Eigenschaft auf false (falsch) gesetzt ist und die Veröffentlichung keinen expliziten Datenstromnamen enthält, wird SYSTEM.BROKER.DEFAULT.STREAM angenommen.
MQRFH-Publisher | MQRFH2-Publisher | |||
---|---|---|---|---|
Standarddatenstrom | DatenstromX | Standarddatenstrom | DatenstromX | |
MQRFH-Subskribent | S1,P1 | S2,P2 | S1,P3 | S2,P4 |
MQRFH2-Subskribent | S3,P1 | S4,P2 | S3,P3 | S4,P4 |