Die Baumstruktur 'LocalEnvironment' (Lokale Umgebung) ist ein Teil der logischen Nachrichtenbaumstruktur, in der Sie Informationen speichern können, während die Nachricht vom Nachrichtenfluss verarbeitet wird.
Das Stammelement der Baumstruktur für die lokale Umgebung heißt 'LocalEnvironment'. Diese Baumstruktur ist immer in der Eingabenachricht enthalten: Immer wenn der Empfangsknoten eine Nachricht empfängt, wird eine leere LocalEnvironment-Baumstruktur erstellt.
Speichern Sie in der LocalEnvironment-Baumstruktur Variablen, auf die Nachrichtenverarbeitungsknoten, die weiter hinter im Nachrichtenfluss stehen, verweisen und die sie aktualisieren können. Die LocalEnvironment-Baumstruktur kann ebenfalls zum Definieren von Zieladressen (die intern und extern gegenüber dem Nachrichtenfluss sind) verwendet werden, an die eine Nachricht gesendet wird. WebSphere Message Broker speichert in einigen Fällen auch Informationen in der lokalen Umgebung und referenziert sie für den Zugriff auf Werte, die Sie möglicherweise für Zieladressen festgelegt haben. (Dies unterscheidet sich von Umgebungsbaumstruktur, wo der Broker nur in einer Situation referenziert.)
Die folgende Abbildung zeigt die LocalEnvironment-Baumstruktur. Die untergeordneten Elemente von 'Destination' sind protokollabhängig. Das abgebildete Beispiel zeigt die Struktur einer WebSphere MQ-Nachricht. Wenn die Nachricht von einem anderen integrierten Parser oder einem benutzerdefinierten Parser analysiert wird, hat die Baumstruktur des Elements 'Destination' einen anderen Inhalt als in der Abbildung gezeigt.
In der oben abgebildeten Baumstruktur hat LocalEnvironment drei untergeordnete Elemente:
'Variables' in der lokalen Umgebung kann von jedem nachfolgenden Nachrichtenverarbeitungsknoten geändert werden und bleibt so lange bestehen, bis der Nachrichtenfluss den Bereich verlässt und der Knoten, von dem er erstellt wurde, seine Arbeit beendet und die Steuerung an den vorherigen Knoten zurückgibt.
Die Variablen in dieser Baumstruktur sind nur innerhalb einer einzelnen Instanz eines Nachrichtenflusses permanent. Wenn mehrere Instanzen einer Nachricht durch den Nachrichtenfluss transportiert werden und zwischen diesen Instanzen Informationen ausgetauscht werden müssen, müssen Sie eine externe Datenbank verwenden.
Die Transportinformation werden von einigen Empfangs- und Sendeknoten verwendet.
Wenn der Nachrichtenfluss mit einem HTTPEmpfangsknoten beginnt, wird ein einzelnes HTTP-Namenselement zu 'Destination' hinzugefügt. Das Element 'HTTP.RequestIdentifier' wird erstellt und initialisiert, so dass es von einem HTTPAntwortknoten verwendet werden kann. Sie können auch andere Felder in der HTTP-Struktur erstellen, die vom HTTPAnforderungsknoten verwendet werden, z. B. für den URL des Services, an den die Anforderung gesendet wird. Die Abschnitte zu den einzelnen Knoten enthalten weitere Informationen zum Inhalt von 'Destination' für das WebSphere MQ Web Services Transport-Protokoll.
Enthält der Nachrichtenfluss einen MQSendeknoten, ist jedes Element ein einzelnes Namenselement (MQDestinationList). Sind mehrere Elemente vorhanden, werden sie nacheinander vom Knoten verarbeitet.
Wenn Sie einen benutzerspezifischen Sendeknoten in den Nachrichtenfluss eingefügt haben, wird der Inhalt von 'Destination' (falls unterstützt) von dem Knoten definiert.
Sie können Sendeknoten konfigurieren, um die Liste der Zieladressen auszuwerten und die Nachricht an diese Zieladressen zu senden, indem Sie die Eigenschaft Zielmodus auf Zieladressenliste setzen. In diesem Fall müssen Sie diese untergeordnete Baumstruktur und deren Inhalt erstellen, um die betreffenden Zieladressen zu definieren, und ihr den Namen 'Destination' geben. Andernfalls kann der Sendeknoten die Nachrichten nicht zustellen.
Falls es Ihnen lieber ist, können Sie den Sendeknoten auch so konfigurieren, dass er Nachrichten an eine einzelne feste Zieladresse sendet, indem Sie die Eigenschaft Zielmodus auf Name der Warteschlange oder Warteschlange für Antwortnachrichten setzen. Wenn Sie eine dieser festen Optionen auswählen, hat die Zieladressenliste keine Auswirkungen auf die Brokeroperationen, und Sie müssen diese untergeordnete Baumstruktur nicht erstellen.
Sie können die MQ-Elemente so anlegen, dass sie ein einzelnes optionales Defaults-Element enthalten. Das Element 'Defaults' (Standardwerte), falls vorhanden, muss das erste untergeordnete Element sein und eine Gruppe von Name/Wert-Elementen enthalten, die Standardwerte für das Nachrichtenziel und PUT-Optionen für das untergeordnete Element angeben.
Sie können ebenfalls eine Reihe von Elementen mit der Bezeichnung 'DestinationData' in MQ erstellen. Jedes dieser Elemente kann mit einer Gruppe von Name/Wert-Elementen konfiguriert werden, die ein Nachrichtenziel und die PUT-Optionen definiert.
Der Elementsatz, der eine Zieladresse definiert, wird in Datentypen für Elemente in der untergeordneten Zieldaten-Baumstruktur beschrieben.
Der Inhalt jeder Instanz von 'DestinationData' entspricht bei jedem Protokoll dem Inhalt von 'Defaults' und kann zum Überschreiben der Standardwerte in 'Defaults' verwendet werden. Sie können 'Defaults' mit Werten konfigurieren, die für alle Ziele einheitlich sind, und in jeder DestinationData-Baumstruktur nur die eindeutigen Werte festlegen. Wenn Sie weder in 'DestinationData' noch in 'Defaults' einen Wert angeben, wird der Wert, den Sie für die entsprechende Knoteneigenschaft festgelegt haben, verwendet. Ebenso wird ein Feldname mit einer falschen Schreibweise oder falscher Groß-/Kleinschreibung ignoriert und stattdessen der Wert verwendet, den Sie für die entsprechende Knoteneigenschaft festgelegt haben.
Die in 'DestinationData' einzufügenden Informationen sind von den Merkmalen der entsprechenden Knoteneigenschaft abhängig (siehe Beschreibung unter Zugriff auf die Baumstruktur für die lokale Umgebung).
Das untergeordnete Element von 'Destination' heißt RouterList. Es besitzt ein einzelnes untergeordnetes Element mit dem Namen DestinationData, das wiederum einen einzelnen Eintrag mit dem Namen 'labelName' (Zieladressenbezeichnung) enthält. Bei Verwendung eines Szenarios mit dynamischem Routing, in das der RouteToLabel-Knoten (Weiterleitung_an_Zieladresse) und der Zieladressenknoten einbezogen sind, müssen Sie die untergeordnete Baumstruktur 'Destination' mit einem RouterList-Element, das die Referenzzieladressen enthält, konfigurieren.
Die Abschnitte für die einzelnen Sendeknoten enthalten weitere Informationen zum Inhalt von 'WrittenDestination' für WebSphere MQ und WebSphere MQ Everyplace.
Sobald die Verarbeitung des Nachrichtenflusses beendet ist, wird die LocalEnvironment-Baumstruktur gelöscht.
Das Beispielprogramm 'Airline Reservations' und das Beispielprogramm 'Message Routing' veranschaulichen, wie Sie Nachrichten auf Grundlage der Zieladressenliste mit Hilfe der lokalen Umgebung dynamisch weiterleiten. Das Beispielprogramm 'User-defined Extension' verwendet die lokale Umgebung, um Informationen zu speichern, die später der vom Nachrichtenfluss erstellten Ausgabenachricht hinzugefügt werden.