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:
Der Verteiler- und der Sammelnachrichtenfluss können im selben Nachrichtenfluss enthalten sein. Sie werden es jedoch möglicherweise vorziehen, zwei separate Flüsse zu erstellen. Weitere Informationen zu den Vorteilen der Konfiguration separater Nachrichtenflüsse finden Sie unter Aggregations-Verteilungsflüsse und -Sammlungsflüsse zuordnen. Richten Sie in derselben oder in verschiedenen Ausführungsgruppen nicht mehrere Kopien desselben Sammelnachrichtenflusses ein.
Wenn Sie den Verteilernachrichtenfluss nicht so konfigurieren, dass er transaktional ist, kann es sein, dass aufgrund der angegebenen Zeitlimitwerte die kombinierte Antwortnachricht generiert wird, bevor alle Antworten vom Sammelnachrichtenfluss empfangen wurden. Der Abschnitt Aggregations-Verteilernachrichtenfluss erstellen enthält weitere Informationen hierzu.
Gehen Sie folgendermaßen vor, um den Sammelnachrichtenfluss zu erstellen:
Der AggregateReply-Knoten erstellt in der Baumstruktur der kombinierten Nachricht unterhalb von 'Root' einen Ordner namens 'ComIbmAggregateReplyBody'. Unter diesem Ordner erstellt der Knoten mehrere Unterordner und verwendet dabei die Namen, die Sie in den AggregateRequest-Knoten festlegen. Diese Unterordner werden mit den entsprechenden Antwortnachrichten aufgefüllt.
Die Anforderungsnachrichten können beispielsweise folgende Ordnernamen haben:
Die resultierende zusammengefasste Antwortnachricht, die vom AggregateReply-Knoten erstellt wurde, kann in etwa folgende Struktur aufweisen:
Mit Hilfe von ESQL-Code in einem Compute-Knoten 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 mithilfe der Subscript-Schreibweise für Bereiche aufrufen. Beispiel:
InputRoot.ComIbmAggregateReplyBody.TAXI[1].xyz InputRoot.ComIbmAggregateReplyBody.TAXI[2].xyz