Der Aggregations-Sammelnachrichtenfluss empfängt die Antworten auf die Anforderungsnachrichten, die vom Verteilernachrichtenfluss gesendet wurden, und konstruiert eine kombinierte Antwortnachricht mit allen empfangenen Antworten.
Vorbereitungen:
Zur vollständigen Ausführung dieser Task muss die folgende Task abgeschlossen worden sein:
Es wird außerdem empfohlen, vor dem Beenden dieser Task den Überblick über Nachrichtenflussaggregation zu lesen.Abhängig davon, ob es sich bei dem Verteilernachrichtenfluss um einen transaktionalen Fluss handelt und, falls nicht, von den angegebenen Zeitlimitwerten kann die kombinierte Antwortnachricht generiert werden, bevor alle Antworten vom Sammelnachrichtenfluss empfangen werden. Weitere Informationen zu diesem Thema finden Sie unter Den Aggregations-Verteilernachrichtenfluss erstellen.
Die in WebSphere Message Broker zur Verfügung gestellte Beispielanwendung Airline ist ein Beispiel eines Sammelnachrichtenflusses.
Gehen Sie folgendermaßen vor, um den Sammelnachrichtenfluss zu erstellen:
Der Knoten für Aggregationsantworten erstellt in Baumstruktur der kombinierten Nachricht unterhalb von 'Root' einen Ordner namens 'ComIbmAggregateReplyBody'. Darunter erstellt er mehrere Ordner und verwendet dabei die Ordnernamen, die Sie in den Knoten zur Aggregationsanforderung festlegen. Die zugehörigen Antwortnachrichten werden unter diesen eingereiht.
Die Anforderungsnachrichten können beispielsweise folgende Ordnernamen haben:
Die resultierende zusammengefasste Antwortnachricht, die vom Knoten für Aggregationsantwortnachrichten erstellt wurde, kann in etwa folgende Struktur aufweisen:
Mit dem Rechenknoten können Sie unter Verwendung des folgenden Korrelationsnamens die Antwort des Taxi-Unternehmens aufrufen:
InputRoot.ComIbmAggregateReplyBody.TAXI.xyz
Der Ordnername muss nicht eindeutig sein. Falls Sie mehrere Anforderungen mit dem Ordnernamen TAXI haben, können Sie die separaten Antworten mit Hilfe der Subscript-Schreibweise für Bereiche aufrufen. Beispiel:
InputRoot.ComIbmAggregateReplyBody.TAXI[1].xyz InputRoot.ComIbmAggregateReplyBody.TAXI[2].xyz