Der MQGet-Knoten verarbeitet jede von ihm empfangene Nachricht.
Dieses Thema ist in folgende Abschnitte eingeteilt:
Nachricht weitergeben
- 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.
- Darüber hinaus 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.
Wenn 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
WebSphere Message
Broker Toolkit festlegen. Wenn Sie keine
überschreibende MQGMO-Struktur nutzen, verwendet
WebSphere Message
Broker 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.
- Der Knoten gibt einen MQGet-Aufruf an WebSphere MQ aus.
- 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 (Failure) weiter. Wenn keine Verbindung zum Fehlerterminal (Failure) 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:

OutputLocalEnvironment erstellen
- Wenn die Eigenschaft Generierungsmodus im
MQGet-Knoten auf eine Option gesetzt wird, die
LocalEnvironment nicht umfasst, kopiert der Knoten die
Eingabebaumstruktur der lokalen Umgebung in die Ausgabebaumstruktur der lokalen Umgebung.
Wenn
diese Kopie erstellt wird, werden Aktualisierungen, die in diesem Knoten an der Ausgabebaumstruktur
der lokalen Umgebung vorgenommen werden, nicht an eine nachgeordnete Stelle weitergegeben.
- Wenn die Eigenschaft Lokale Umgebung kopieren auf
eine andere Option als Keine gesetzt wird, kopiert der
Knoten die Eingabebaumstruktur der lokalen Umgebung in die Ausgabebaumstruktur der lokalen Umgebung.
- Wenn die Ausgabedatenposition auf die Ausgabebaumstruktur der lokalen Umgebung zeigt, werden in
dieser Baumstruktur Änderungen durch Kopieren aus der Ergebnisbaumstruktur übernommen.
- Die Baumstruktur der lokalen Umgebung wird weitergegeben.
Das folgende Diagramm zeigt diese Verarbeitung:

Ausgabenachricht erstellen
- 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.
- 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.
- Wenn die Eigenschaft Nachricht kopieren auf eine andere Option als Keine gesetzt wird, kopiert der Knoten die Eingabenachrichtenbaumstruktur in die Ausgabenachrichtenbaumstruktur.
- 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.
- Die Nachrichtenbaumstruktur wird weitergegeben.
Das folgende Diagramm zeigt diese Verarbeitung:

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.