Acceder al árbol Environment

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.)

Puede utilizar este árbol para la finalidad que desee. Por ejemplo, puede utilizar las siguientes sentencias ESQL para crear los campos del árbol:
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.

Para ver otro ejemplo sobre la utilización de Environment para almacenar información utilizada por otros nodos del flujo de mensajes, vea el flujo de mensajes Reservation en el siguiente ejemplo: El nodo Compute de este flujo de mensajes graba información en el subárbol Environment.Variables que ha extraído de una base de datos según el valor de un campo del mensaje de entrada.

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.

Conceptos relacionados
Visión general de flujos de mensajes
Estructura del árbol Environment
Visión general de ESQL
Modelado de mensajes
Tareas relacionadas
Diseñar un flujo de mensajes
Definir el contenido del flujo de mensajes
Gestión de archivos ESQL
Referencia relacionada
Nodo Compute
Nodo Database
Nodo Filter
Referencia de ESQL
Función del constructor ROW
Función del constructor LIST
ROW y LIST combinados
ROW y LIST comparados
Sentencia SET
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última actualización : 2009-02-16 13:53:55

ac16840_