El árbol de entorno es una parte del árbol lógico de mensaje en que el intermediario puede almacenar información mientras el mensaje pasa por el flujo de mensajes.
La raíz del árbol de entorno se denomina Environment. Este árbol siempre está presente en el mensaje de entrada; se crea un árbol de entorno vacío cuando el nodo de entrada recibe el mensaje y lo analiza. Puede utilizar este árbol como desee y crear tanto su contenido como su estructura.
Hay una sola situación en la que WebSphere Message Broker hace referencia (pero no crea nunca) un campo en este árbol. Si ha solicitado la recogida de datos de contabilidad y estadísticas del flujo de mensajes y ha indicado que es necesario el soporte básico del origen contable, el intermediario comprueba si existe el campo Environment.Broker.AccountingOrigin. Si existe el campo, el intermediario utiliza su valor para establecer el origen contable del registro de datos actual. Para obtener más información acerca de cómo utilizar este campo, consulte Establecer el origen de contabilidad de estadísticas y de contabilidad de flujo de mensajes. (Compárelo con Estructura del árbol de entorno local, que utiliza el intermediario en algunas situaciones.)
El árbol de entorno difiere del árbol de entorno local en que una sola instancia del mismo se mantiene en todo el flujo de mensajes. Si incluye un nodo Compute, un nodo Mapping o un nodo JavaCompute en el flujo de mensajes, no será necesario indicar si desea que el árbol de entorno se incluya en el mensaje de salida. El árbol de entorno se incluye automáticamente y todo el contenido del árbol de entorno de entrada se retiene en el árbol de entorno de salida, sujeto a las todas las modificaciones que realice en el nodo. Cualquier cambio que efectúe estará disponible para los nodos siguientes del flujo de mensajes y para los nodos anteriores si el mensaje vuelve a fluir (por ejemplo, para un nodo FlowOrder o TryCatch).
Si desea crear información propia, créela en el árbol de entorno, dentro de un subárbol llamado Variables.
La siguiente figura muestra un ejemplo de árbol de entorno:
Puede utilizar las sentencias ESQL siguientes para crear el contenido que se ha mostrado anteriormente.
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)};
Cuando se ha completado el flujo de mensajes, se descarta el árbol Environment.