Informationen zum Nachrichtenfluss 'XML_FlightQueryIn'
Der Nachrichtenfluss 'XML_FlightQueryIn' ist der Sammelnachrichtenfluss im
Mustercode 'Aggregation' mit dem Namen 'XML_FlightQuery'.
'XML_FlightQuery' besteht aus drei kurzen Nachrichtenflüssen, die dadurch kommunizieren, dass sie Nachrichten in Warteschlangen von WebSphere MQ einreihen und daraus abrufen. Dabei handelt es sich um folgende drei Nachrichtenflüsse:
- XML_FlightQueryOut, den Verteilernachrichtenfluss, der zwei zusammengehörende Anforderungen von Flug- und
Passagierdaten generiert und verteilt (siehe Informationen zum Nachrichtenfluss 'XML_FlightQueryOut').
- XML_FlightQueryReply, der die Informationen für die Beantwortung der beiden Anforderungen sucht (siehe Informationen zum Nachrichtenfluss 'XML_FlightQueryReply').
- XML_FlightQueryIn, den Sammelnachrichtenfluss, der die Antworten zu einer einzelnen Antwortnachricht zusammenfügt.
Die Eingabenachricht für 'XML_FlightQuery' fordert Informationen über einen bestimmten Flug und
die Passagiere an, die auf diesem Flug Sitzplätze reserviert haben.
Im nachfolgenden Diagramm wird der Nachrichtenfluss
XML_FlightQueryIn veranschaulicht.

In der folgenden Tabelle sind die Knotentypen aufgelistet, die im Nachrichtenfluss XML_FlightQueryIn verwendet werden.
Knotentyp |
Knotenname |
MQInput |
XML_FLIGHTQUERY_REPLIES |
AggregateReply |
AggregateReplies |
Rechnen |
BuildOutputMessage; ProcessTimeout |
MQOutput |
XML_FLIGHTQUERY_OUT; XML_FLIGHTQUERY_TIMEOUT; XML_FLIGHTQUERY_FAIL |
Weitere Informationen zu den Knoten in diesem Mustercode finden Sie
in der WebSphere Message Broker-Dokumentation unter
Integrierte Knoten.
Um den in diesem Nachrichtenfluss verwendeten ESQL-Code anzuzeigen, siehe Nachrichtenfluss 'XML_FlightQueryIn' erstellen.
Der Nachrichtenfluss XML_FlightQueryIn führt die folgenden Aktionen durch:
- Der Knoten XML_FLIGHTQUERY_REPLIES ruft die beiden Antwortnachrichten aus der Warteschlange XML_FLIGHTQUERY_REPLIES ab und leitet anschließend jede Antwortnachricht über das Ausgangsterminal an den Knoten 'AggregateReplies' weiter.
Wenn die Ausnahmebedingung nachgeschaltet erzeugt wurde und für die Nachricht eine ROLLBACK-Operation bis hierher ausgeführt wurde, gibt der Knoten XML_FLIGHTQUERY_REPLIES die Nachricht alternativ über das Catch-Terminal an den Knoten XML_FLIGHTQUERY_FAIL weiter, der die Nachricht in die Warteschlange XML_FLIGHTQUERY_FAIL einreiht.
- Der Knoten 'AggregateReplies' kombiniert die beiden Antwortnachrichten zu einer einzelnen zusammengefassten Antwortnachricht und gibt diese anschließend über das Ausgangsterminal an den Knoten 'BuildOutputMessage' weiter.
Wenn das Zeitlimit für die Aggregation abläuft, da nicht alle Antworten innerhalb des in
den Eigenschaften des Knotens 'AggregateReplies' angegebenen Intervalls eingetroffen
sind, übergibt der Knoten die unvollständige zusammengefasste Nachricht über das
Timeout-Terminal an den Knoten 'ProcessTimeout'. Der Knoten 'ProcessTimeout' übergibt die Nachricht anschließend an den Knoten XML_FLIGHTQUERY_TIMEOUT, von wo aus die Nachricht in die Warteschlange XML_FLIGHTQUERY_TIMEOUT eingereiht wird.
- Der Knoten 'BuildOutputMessage' erstellt aus den Informationen in der zusammengefassten Antwortnachricht eine einzelne Ausgabenachricht. In der Ausgabenachricht ist die Flugnummer, das Flugdatum, die Kapazität, die Anzahl der gebuchten Sitzplätze, die Preise für die jeweiligen Klassen, eine Liste mit den Namen der Passagiere und die zugehörigen Reservierungsnummern enthalten.
- Der Knoten 'BuildOutputMessage' übergibt die Ausgabenachricht über das Ausgangsterminal an den Knoten XML_FLIGHTQUERY_OUT, von wo aus die Nachricht in die Warteschlange XML_FLIGHTQUERY_OUT eingereiht wird.
Zurück zu den Informationen zum Mustercode 'Airline Reservations'