El árbol Environment tiene su propio nombre de correlación, Environment, y debe utilizarlo en todas las sentencias ESQL que hacen referencia o establecen el contenido de este árbol.
El árbol Environment se crea siempre que se crea el árbol lógico para un mensaje de entrada. No obstante, el flujo de mensajes ni lo rellena ni utiliza su contenido. Puede utilizar este árbol para sus propios fines, por ejemplo, para pasar información de un nodo a otro. Puede utilizar todo el árbol como área de borrador o entorno de trabajo.
La ventaja de crear sus propios datos en el árbol Environment es que estos datos se propagan como parte del árbol lógico a los nodos siguientes del flujo de mensajes. Si crea un nuevo mensaje de salida en un nodo Compute, el árbol Environment se copia también del mensaje de entrad al nuevo nuevo mensaje de salida. (A diferencia de lo que ocurre en el árbol LocalEnvironment, que sólo se incluye en el mensaje de salida si solicita explícitamente que así sea.)
Sólo hay un árbol Environment mientras dura el flujo de mensajes. Cualquier actualización o adición que efectúe en un nodo se retiene y todos los nodos del flujo de mensajes tienen acceso a la copia más reciente de este árbol. Incluso si el mensaje fluye hacia atrás por el flujo de mensajes, por ejemplo, si se genera una excepción o si se procesa el mensaje a través del segundo terminal del nodo FlowOrder), se retiene el estado más reciente. (A diferencia de lo que ocurre en el árbol LocalEnvironment, que vuelve a su estado anterior si el mensaje fluye hacia atrás por el flujo de mensajes.)
SET Environment.Variables = ROW('granary' AS bread, 'reisling' 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)};
Esta información está disponible ahora para todos los nodos a los que se propaga un mensaje, independientemente de la posición relativa que tengan en el flujo de mensajes.
Los ejemplos sólo pueden verse cuando se utiliza el centro de información que está integrado en el Kit de herramientas de Message Brokers.