Informationen zum Nachrichtenfluss 'XML_FlightQueryOut'
Der Nachrichtenfluss 'XML_FlightQueryOut' ist der Verteilernachrichtenfluss im Aggregationsbeispiel 'XML_FlightQuery'. XML_FlightQuery besteht aus drei kurzen Nachrichtenflüssen, die Nachrichten aus lokalen Warteschlangen für WebSphere MQ abrufen, zusammenfassen und einreihen. 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.
- XML_FlightQueryReply, der die Informationen für die Beantwortung der Anforderungen sucht.
- 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.
In der nachfolgenden Abbildung wird der Nachrichtenfluss XML_FlightQueryOut veranschaulicht.

In der folgenden Tabelle sind die Knotentypen aufgelistet, die im Nachrichtenfluss XML_FlightQueryOut verwendet werden.
Knotentyp |
Knotenname |
MQEmpfang |
XML_FLIGHTQUERY_IN |
Knoten zur Aggregationssteuerung |
RequestDetails |
MQSenden |
XML_FLIGHTQUERY_FAIL; XML_FLIGHTQUERY_FLIGHT; XML_FLIGHTQUERY_PASSENGERS |
Knoten für Aggregationsanforderungen |
RecordFlightRequest; RecordPassengerRequest |
Weitere Informationen finden Sie unter Die Knoten im Nachrichtenfluss 'XML_FlightQueryOut' in der WebSphere Message Broker-Dokumentation. Um den in diesem Nachrichtenfluss verwendeten ESQL-Code anzuzeigen, siehe Creating the XML_FlightQueryOut (Den Nachrichtenfluss 'XML_FlightQueryOut' erstellen.
Der Nachrichtenfluss XML_FlightQueryOut führt die folgenden Aktionen durch:
- Der Knoten XML_FLIGHTQUERY_IN ruft die Eingabenachricht aus der Warteschlange XML_FLIGHTQUERY_IN ab und identifiziert die Eingabenachricht als in der XML-Domäne vorhanden. Der Nachrichtenfluss muss daher die Nachricht unter Verwendung des XML-Parsers syntaktisch analysieren.
- Der Knoten XML_FLIGHTQUERY_IN gibt die Anforderungsnachricht über das Ausgangsterminal an den Knoten 'RequestDetails' weiter. Wenn die Ausnahmebedingung nachgeschaltet ausgelöst wurde und für die Nachricht eine ROLLBACK-Operation bis hierher ausgeführt wird, gibt der Knoten XML_FLIGHTQUERY_IN 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 'RequestDetails' generiert die folgenden Anforderungsnachrichten:
- Die Anforderung von Daten zum in der Eingabenachricht angegebenen Flug: die Nachricht für die Anforderung von Flugdaten
- Die Anforderung einer Liste mit den Passagieren, die für den in der Eingabenachricht angegebenen Flug Sitzplätze reserviert haben: die Nachricht für die Anforderung von Passagierdaten
- Der Knoten 'RequestDetails' gibt die Nachricht für die Anforderung von Flugdaten über das Ausgangsterminal an den Knoten XML_FLIGHTQUERY_FLIGHT und die Nachricht für die Anforderung von Passagierdaten auf demselben Weg an den Knoten XML_FLIGHTQUERY_PASSENGERS weiter.
- Der Knoten XML_FLIGHTQUERY_FLIGHT stellt die Nachricht für die Anforderung von Flugdaten in die Warteschlange XML_FLIGHTQUERY_FLIGHT und gibt diese Nachricht auch über das Ausgangsterminal zum Knoten 'RecordFlightRequest' weiter. Zwischenzeitlich stellt der Knoten XML_FLIGHTQUERY_PASSENGERS die Nachricht für die Anforderung von Passagierdaten in die Warteschlange XML_FLIGHTQUERY_PASSENGERS und gibt diese Nachricht auch über das Ausgangsterminal an den Knoten 'RecordPassengerRequest' weiter.
- Der Knoten 'RequestDetails' speichert den Status der Aggregation intern im Broker.
Der Nachrichtenfluss XML_FlightQueryReply führt die Aggregation fort.
Zurück zu "Das Beispielprogramm 'Airline Reservations'"