Informationen zum Nachrichtenfluss 'XML_FlightQueryReply'

Der Nachrichtenfluss 'XML_FlightQueryReply' ist der Antwortnachrichtenfluss 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:

  1. XML_FlightQueryOut, den Verteilernachrichtenfluss, der zwei zusammengehörende Anforderungen von Flug- und Passagierdaten generiert und verteilt.
  2. XML_FlightQueryReply, der die Informationen für die Beantwortung der Anforderungen sucht.
  3. 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 an und führt die Passagiere auf, die auf diesem Flug Sitzplätze reserviert haben.

In der nachfolgenden Abbildung wird der Nachrichtenfluss XML_FlightQueryReply veranschaulicht.

Anzeigenerfassung des Nachrichtenflusses 'XML_FlightQuery_Reply'

In der folgenden Tabelle sind die Knotentypen aufgelistet, die im Nachrichtenfluss XML_FlightQueryReply verwendet werden.

Knotentyp Knotenname
MQEmpfang XML_FLIGHTQUERY_FLIGHT; XML_FLIGHTQUERY_PASSENGERS
Rechnen GetFlightDetails; GetPassengerDetails
MQAntwortknoten MQMD_ReplyToQ
MQSenden XML_FLIGHTQUERY_FAIL_1; XML_FLIGHTQUERY_FAIL_2

Weitere Informationen finden Sie unter Die Knoten im Nachrichtenfluss 'XML_FlightQueryReply' in der WebSphere Message Broker-Dokumentation. Um den in diesem Nachrichtenfluss verwendeten ESQL-Code anzuzeigen, siehe Creating the XML_FlightQueryReply message flow (Den Nachrichtenfluss 'XML_FlightQueryReply' erstellen).

Der Nachrichtenfluss XML_FlightQueryReply führt die folgenden Aktionen durch:

  1. Der Knoten XML_FLIGHTQUERY_FLIGHT ruft die Anforderungsnachricht aus der Warteschlange XML_FLIGHTQUERY_FLIGHT ab und gibt die Anforderungsnachricht über das Ausgangsterminal an den Knoten 'GetFlightDetails' weiter. Wenn hingegen eine Ausnahme weiter unten in der Hierarchie ausgegeben wird und für die Nachricht eine ROLLBACK-Operation bis hierher durchgeführt wurde, übergibt der Knoten XML_FLIGHTQUERY_FLIGHT die Nachricht über das Catch-Terminal an den Knoten XML_FLIGHTQUERY_FAIL1.
  2. Der Knoten XML_FLIGHTQUERY_PASSENGERS ruft die Anforderungsnachricht aus der Warteschlange XML_FLIGHTQUERY_PASSENGERS ab und gibt die Anforderungsnachricht über das Ausgangsterminal an den Knoten 'GetPassengerDetails' weiter. Wenn die Ausnahmebedingung nachgeschaltet ausgelöst wurde und für die Nachricht eine ROLLBACK-Operation ausgeführt wurde, gibt der Knoten XML_FLIGHTQUERY_PASSENGERS die Nachricht alternativ über das Catch-Terminal an den Knoten XML_FLIGHTQUERY_FAIL2 weiter, der die Nachricht in die Warteschlange XML_FLIGHT_QUERY_FAIL einreiht.
  3. Der Knoten 'GetFlightDetails' greift auf die Tabelle XMLFLIGHTTB in der Datenbank RESERVDB zu, um Informationen über den in der angeforderten Nachricht angegebenen Flug abzurufen, und er fügt der Anforderungsnachricht Informationen zur Kapazität, zu den zugewiesenen Sitzplätzen, zu den Preisen für die Economy Class und die Erste Klasse, und Informationen zum Abflugflughafen und Zielflughafen hinzu.
  4. Der Knoten 'GetFlightDetails' übergibt die geänderte Anforderungsnachricht über das Ausgangsterminal an MQMD_ReplyToQ.
  5. Der Knoten 'GetPassengerDetails' greift auf die Tabelle XMLPASSENGERTB in der Datenbank RESERVDB zu, um Informationen über die Passagiere zu erhalten, die den in der Anforderungsnachricht angegebenen Flug gebucht haben, und fügt der Anforderungsnachricht eine Liste der Passagiere hinzu, die diesen Flug gebucht haben.
  6. Der Knoten 'GetPassengerDetails' übergibt die geänderte Anforderungsnachricht über das Ausgangsterminal an MQMD_ReplyToQ.
  7. Der Knoten 'MQMD_ReplyTo' überprüft den MQMD-Header der Nachricht auf Werte für 'ReplyToQ' und 'ReplyToQMgr'. Der Wert von 'ReplyToQ' ist 'XML_FLIGHTQUERY_REPLIES', und der Wert von 'ReplyToQMgr' ist 'WBRK6_DEFAULT_QUEUE_MANAGER'.
  8. Der Knoten 'MQMD_ReplyTo' stellt die Nachricht in die Warteschlange XML_FLIGHTQUERY_REPLIES. Dieser Warteschlangenname ist nicht in den Eigenschaften des Knotens, sondern im MQMD-Header der Nachricht enthalten.

Der Nachrichtenfluss XML_FlightQueryIn führt die Aggregation fort.

Symbol Hauptseite   Zurück zu "Das Beispielprogramm 'Airline Reservations'"