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.
Es gibt nur eine Situation, in der WebSphere Message Broker auf ein Feld in dieser Baumstruktur verweist (es jedoch nie erstellt). Wenn Sie für die Abrechnungs- und Statistikdaten des Nachrichtenflusses eine Datenerfassung angefordert und angegeben haben, dass die ursprüngliche Basisunterstützung für die Abrechnung erforderlich ist, überprüft der Broker, ob das Feld 'Environment.Broker.AccountingOrigin' vorhanden ist. Falls dieses Feld besteht, legt der Broker mit dessen Wert den Abrechnungsursprung für den aktuellen Datensatz fest. Der Abschnitt Berechnungsursprung von Berechnungs- und Statistikdaten zu Nachrichtenfluss festlegen enthält weitere Informationen zur Verwendung dieses Felds. (Siehe im Vergleich dazu Baumstruktur für die lokale Umgebung. Wird vom Broker in mehreren 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.