Die Umgebungsbaumstruktur ist Bestandteil der Baumstruktur für logische Nachrichten, in der Sie während der Leitung der Nachricht durch den Nachrichtenfluss Informationen speichern können.
Das Stammelement der Umgebungsbaumstruktur heißt 'Environment'. Diese Baumstruktur ist in der Eingabenachricht immer enthalten; immer wenn der Empfangsknoten eine Nachricht empfängt und syntaktisch analysiert, wird eine leere Umgebungsbaumstruktur erstellt. Sie können diese Baumstruktur nach Belieben verwenden und sowohl ihren Inhalt als auch ihre Struktur erstellen.
WebSphere Message Broker verwendet die Felder der Umgebungsbaumstruktur nur in zwei Situationen. (Vergleichen Sie dies mit der Baumstruktur für die lokale Umgebung, die der Broker in zahlreichen Situationen verwendet.)
Die Umgebungsbaumstruktur unterscheidet sich von der Baumstruktur für die lokale Umgebung dahingehend, dass eine einzelne Instanz davon im gesamten Nachrichtenfluss beibehalten wird. Wenn Sie einen Compute-, Mapping- oder JavaCompute-Knoten in Ihren Nachrichtenfluss aufnehmen, müssen Sie nicht angeben, ob die Umgebungsbaumstruktur in der Ausgabenachricht eingefügt werden soll. Dies erfolgt automatisch und der gesamte Inhalt der Umgebungsbaumstruktur der Eingabe wird in der Umgebungsbaumstruktur der Ausgabe beibehalten, wobei Änderungen Rechnung getragen wird, die Sie im Knoten vornehmen. Alle von Ihnen vorgenommenen Änderungen stehen den nachfolgenden Knoten im Nachrichtenfluss zur Verfügung, sowie den vorherigen Knoten, falls die Nachricht zurückfließt (beispielsweise an einen FlowOrder- oder TryCatch-Knoten).
Wenn Sie Ihre eigenen Informationen erstellen möchten, tun Sie dies in der Umgebungsbaumstruktur innerhalb einer untergeordneten Baumstruktur mit der Bezeichnung 'Variables'.
Die folgende Abbildung zeigt ein Beispiel für eine Umgebungsbaumstruktur:
Zur Erstellung des oben angezeigten Inhalts könnten Sie die folgenden ESQL-Anweisungen verwenden.
SET Environment.Variables =
ROW('granary' AS bread, 'riesling' AS wine, 'stilton' AS cheese);
SET Environment.Variables.Colors[] =
LIST{'yellow', 'green', 'blue', 'red', 'black'};
SET Environment.Variables.Country[] = LIST{ROW('UK' AS name, 'pound' AS currency),
ROW('USA' AS name, 'dollar' AS currency)};
Sobald die Verarbeitung des Nachrichtenflusses abgeschlossen ist, wird die Umgebungsbaumstruktur gelöscht.