Informationen zum Nachrichtenfluss 'XML_FlightQueryIn'

Der Nachrichtenfluss 'XML_FlightQueryIn' ist der Sammelnachrichtenfluss im Aggregationsbeispiel '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:

  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 und die Passagiere an, die auf diesem Flug Sitzplätze reserviert haben.

In der nachfolgenden Abbildung wird der Nachrichtenfluss XML_FlightQueryIn veranschaulicht.

Anzeigenerfassung des Nachrichtenflusses 'XML_FlightQuery_Reply'

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

Knotentyp Knotenname
MQEmpfang XML_FLIGHTQUERY_REPLIES
Knoten für Aggregationsantworten AggregateReplies
Rechnen BuildOutputMessage; ProcessTimeout
MQSenden XML_FLIGHTQUERY_OUT; XML_FLIGHTQUERY_TIMEOUT; XML_FLIGHTQUERY_FAIL

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

Der Nachrichtenfluss XML_FlightQueryIn führt die folgenden Aktionen durch:

  1. 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 ausgelöst 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_FAIL1 weiter, der die Nachricht in die Warteschlange XML_FLIGHTQUERY_FAIL einreiht.
  2. 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ändig kumulierte Nachricht über das Timeout-Terminal an den Knoten 'Process timeout' (Zeitlimit für Prozess). 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.
  3. 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.
  4. 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.

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