Verarbeitung von Nachrichten durch den MQGet-Knoten

Der MQGet-Knoten verarbeitet jede von ihm empfangene Nachricht.

Nachricht weitergeben

  1. Wenn in der Eingabebaumstruktur ein MQ-Nachrichtendeskriptor-Header (MQ Message Descriptor Header, MQMD) vorhanden ist, wird dieser vom MQGet-Knoten verwendet. Andernfalls wird vom Knoten ein Standard-MQMD erstellt.
  2. Darüberhinaus erstellt der Knoten auf Basis der für die Knoteneigenschaften festgelegten Werte eine standardmäßige Struktur mit MQ-Optionen für den Abruf von Nachrichten (MQ Get Message Options, MQGMO). Wenn in der Eingabebaumstruktur eine MQGMO-Struktur enthalten ist, ändert der Knoten die Standardstruktur mithilfe ihres Inhalts.
    Beginn der ÄnderungWenn Sie eine MQGMO-Struktur einfügen, um die Standardstruktur zu überschreiben, müssen Sie alle Optionen angeben, die ersetzt werden sollen. Wenn Sie beispielsweise das Optionsfeld auf MQGMO_CONVERT setzen, überschreibt dieser Wert alle Optionen, die Sie mit der Workbench festlegen. Wenn Sie keine überschreibende MQGMO-Struktur nutzen, verwendet WebSphere Nachrichtenbroker die folgenden Werte:
    • Wenn das Warteintervall ungleich null ist, wird MQGMO_WAIT festgelegt; andernfalls wird MQGMO_NOWAIT verwendet.
    • Wenn der Transaktionsmodus auf Ja gesetzt ist, wird MQGMO_SYNCPOINT verwendet.
    • Wenn der Transaktionsmodus auf Nein gesetzt ist, wird MQGMO_NOSYNCPOINT verwendet.
    • Wenn der Transaktionsmodus auf Automatisch gesetzt ist, wird MQGMO_SYNCPOINT_IF_PERSISTENT verwendet.
    • Die einzige andere Option, die standardmäßig in den Knoteneigenschaften verwendet wird, ist MQGMO_COMPLETE_MSG. Diese wird festgelegt, wenn der Transaktionsmodus auf Ja oder Nein gesetzt ist. Diese Option wird nicht festgelegt, wenn Ihr Broker unter z/OS ausgeführt wird.
    • Standardmäßig werden keine weiteren Optionen verwendet.
    Ende der Änderung
  3. Der Knoten gibt einen MQGet-Aufruf an WebSphere MQ aus.
  4. Der Knoten analysiert den Beendigungscode (CC) und gibt die Nachricht an das entsprechende Terminal weiter:
    OK
    Der Knoten erstellt die LocalEnvironment der Ausgabe und die Baumstrukturen der Ausgabenachrichten mithilfe von Standardverfahren zur Nachrichtenanalyse und leitet die Nachricht danach an das Ausgangsterminal weiter.
    Warnung
    Der Knoten erstellt die LocalEnvironment der Ausgabe und die Baumstrukturen der Ausgabenachrichten mit BLOB als Nachrichtentexttyp und leitet die Nachricht danach an das Warnungsterminal weiter, sofern es verbunden ist. Falls das Terminal nicht verbunden ist, erfolgt keine Weitergabe und der Nachrichtenfluss wird beendet.
    Fehler (keine Nachricht)
    Der Knoten erstellt die LocalEnvironment der Ausgabe und die Baumstrukturen der Ausgabenachrichten durch Kopieren der Eingabebaumstrukturen und leitet die Nachricht danach an das Keine-Nachricht-Terminal weiter, sofern es verbunden ist. Falls das Terminal nicht verbunden ist, erfolgt keine Weitergabe. Die Ausgabenachricht, die an das Terminal 'Keine Nachricht' weitergegeben wird, wird anhand der Werte der Eigenschaften Generierungsmodus sowie der Eigenschaften Nachricht kopieren oder Lokale Umgebung kopieren nur aus der Eingabenachricht erstellt.
    Fehler (sonstige)
    Der Knoten leitet die Nachricht an das Fehlerterminal weiter. Wenn keine Verbindung zum Fehlerterminal besteht, gibt der Broker eine Ausnahmebedingung aus und gibt die Steuerung an den nächsten vorangegangenen Knoten zurück, der diese Ausnahmebedingung verarbeiten kann. Der Abschnitt Fehler in Nachrichtenflüssen behandeln enthält weitere Informationen hierzu.

Das folgende Diagramm zeigt diese Verarbeitung:

Der in diesem Flussdiagramm dargestellte Prozess wurde im vorangegangenen Text beschrieben.

Die Verwendung der MQGMO_BROWSE-Optionen wird nicht unterstützt, da die Warteschlange nicht für die Suche geöffnet ist.

OutputLocalEnvironment erstellen

  1. Wenn die Eigenschaft Generierungsmodus im MQGet-Knoten auf eine Option gesetzt wird, die LocalEnvironment nicht umfasst, kopiert der Knoten die LocalEnvironment-Baumstruktur der Eingabe in die LocalEnvironment-Baumstruktur der Ausgabe.

    Wenn diese Kopie erstellt wird, werden Aktualisierungen, die in diesem Knoten an der LocalEnvironment-Baumstruktur der Ausgabe vorgenommen werden, nicht an eine nachgeordnete Stelle weitergegeben.

  2. Wenn die Eigenschaft Lokale Umgebung kopieren auf eine andere Option als Keine gesetzt wird, kopiert der Knoten die LocalEnvironment-Baumstruktur der Eingabe in die LocalEnvironment-Baumstruktur der Ausgabe.
  3. Wenn die Ausgabedatenposition auf die LocalEnvironment-Baumstruktur der Ausgabe zeigt, werden in dieser Baumstruktur Änderungen durch Kopieren aus der Ergebnisbaumstruktur übernommen.
  4. Die LocalEnvironment-Baumstruktur wird weitergegeben.

Das folgende Diagramm zeigt diese Verarbeitung:

Der in diesem Flussdiagramm dargestellte Prozess wurde im vorangegangenen Text beschrieben.

Ausgabenachricht erstellen

  1. Wenn die Eigenschaft Generierungsmodus im MQGet-Knoten auf eine Option gesetzt wird, die Nachricht nicht umfasst, kopiert der Knoten die Baumstruktur der Eingabenachricht in die Baumstruktur der Ausgabenachricht. Fahren Sie mit Schritt 5 fort.
  2. Wenn die Eigenschaft Position für Ausgabedaten auf OutputRoot gesetzt ist, erstellt der Knoten die Baumstruktur der Ausgabenachricht gänzlich aus der Ergebnisbaumstruktur. Fahren Sie mit Schritt 5 fort.
  3. Wenn die Eigenschaft Nachricht kopieren auf eine andere Option als Keine gesetzt wird, kopiert der Knoten die Eingabenachrichtenbaumstruktur in die Ausgabenachrichtenbaumstruktur.
  4. Wenn die Eigenschaft Position für Ausgabedaten auf einen Teil der Baumstruktur der Ausgabenachricht verweist, übernimmt der Knoten an dem durch die Eigenschaft Position der Ergebnisdaten definierten Punkt Änderungen an dieser Baumstruktur durch Kopieren aus der Ergebnisbaumstruktur.
  5. Die Nachrichtenbaumstruktur wird weitergegeben.

Das folgende Diagramm zeigt diese Verarbeitung:

Der in diesem Flussdiagramm dargestellte Prozess wurde im vorangegangenen Text beschrieben.

Ein Beispiel für die Implementierung dieser Verarbeitung in einem Nachrichtenfluss finden Sie im Abschnitt Szenario des Typs 'Anforderung/Antwort' unter Verwendung eines MQGet-Knotens.

Zugehörige Konzepte
Nachrichtenflüsse - Übersicht
Zugehörige Verweise
Szenario des Typs 'Anforderung/Antwort' unter Verwendung eines MQGet-Knotens
MQGet-Knoten
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Letzte Aktualisierung : 2009-02-17 15:28:31

ac34690_