El árbol Entorno local es una parte del árbol lógico de mensaje en la que puede almacenar información mientras el flujo de mensajes procesa el mensaje.
El elemento raíz del árbol Entorno local se denomina Entorno local. Este árbol siempre está presente en el mensaje de entrada: cuando el nodo de entrada recibe un mensaje, se crea un árbol Entorno local vacío.
Utilice el árbol Entorno local para almacenar variables a las que puedan hacer referencia y actualizar los nodos de proceso de mensajes que hay posteriormente en el flujo de mensajes. También puede utilizar el árbol Entorno local para definir los destinos (que son internos y externos del flujo de mensajes) a los que se envía un mensaje. WebSphere Message Broker también almacena información en Entorno local en algunas circunstancias, y hace referencia a él para acceder a valores que quizá haya establecido para destinos. (Compare con Estructura del árbol Environment, al que el intermediario hace referencia sólo en una situación.)
La figura siguiente muestra la estructura de árbol Entorno local. Los hijos de Destination dependen del protocolo. El ejemplo siguiente muestra la estructura para un mensaje de WebSphere MQ. Si el mensaje lo analiza otro analizador incorporado o un analizador definido por el usuario, la estructura de árbol por debajo del elemento Destination tendrá un contenido distinto del que se muestra en la figura.
En la estructura de árbol que se muestra a continuación, Entorno local tiene tres hijos:
Las variables del entorno local puede cambiarlas cualquier nodo de proceso de mensajes subsiguiente y permanecen hasta que el flujo de mensajes sale del ámbito y el nodo que lo ha creado ha completado su trabajo y devuelve el control al nodo anterior
Las variables en este subárbol sólo son persistentes dentro de una sola instancia de un flujo de mensajes. Si tiene varias instancias de un mensaje que pasa por el flujo de mensajes y tienen que pasarse información entre ellas, debe utilizar una base de datos externa.
La información de transporte la utilizan algunos nodos de entrada y salida.
Si el flujo de mensajes empieza con un nodo HTTPInput, se añade un solo HTTP de elemento de nombre a Destination. Se crea e inicializa el elemento HTTP.RequestIdentifier de forma que lo pueda utilizar un nodo HTTPReply. También puede crear otros campos en la estructura HTTP para que los utilice el nodo HTTPRequest, por ejemplo, el URL del servicio al que se envía la petición. El tema para cada nodo contiene más información sobre el contenido de Destination para el protocolo WebSphere MQ Web Services Transport.
Si el flujo de mensajes incluye un nodo MQOutput, cada elemento es un elemento de nombre individual, MQDestinationList. Si existe más de un elemento, el nodo procesa cada uno de forma secuencial.
Si ha incluido un nodo de salida definido por el usuario, el contenido de Destination (si está soportado) lo define ese nodo.
Puede configurar nodos de salida para examinar la lista de destinos y enviar el mensaje a esos destinos, estableciendo la propiedad Modalidad de destino en Lista de destinos. Si lo hace, debe crear este subárbol y su contenido para definir estos destinos, dándole el nombre Destination. Si no lo hace, el nodo de salida no puede entregar los mensajes.
Si lo prefiere, puede configurar el nodo de salida para que envíe mensajes a un solo destino fijo, estableciendo la propiedad Modalidad de destino en Nombre de cola o Cola de respuestas. Si selecciona una de estas opciones fijas, la lista de destinos no tiene ningún efecto en el funcionamiento del intermediario y no es necesario crear este subárbol.
Puede crear el elemento MQ para que contenga un solo elemento Defaults opcional. Si se crea, este elemento debe ser el primer hijo y debe contener un conjunto de elementos nombre-valor que ofrezca valores por omisión para el destino del mensaje y sus opciones PUT para ese padre.
También puede crear diversos elementos denominados DestinationData en MQ. Cada uno de ellos puede establecerse con un conjunto de elementos nombre-valor que defina un destino de mensaje y sus opciones PUT.
El conjunto de elementos que define un destino se describe en Tipos de datos para elementos del subárbol de datos de destino.
El contenido de cada instancia de DestinationData es el mismo que el contenido de Defaults para cada protocolo, y se puede utilizar para modificar los valores por omisión en Defaults. Puede establecer Defaults para que contenga valores que sean comunes para todos los destinos y establecer sólo los valores exclusivos en cada subárbol DestinationData. Si no establece un valor en DestinationData o Defaults, se utilizará el valor que haya establecido para la propiedad de nodo correspondiente. De forma similar, si especifica un nombre o un valor de campo escrito incorrectamente, éste se ignorará y se utilizará el valor que haya establecido para la propiedad de nodo correspondiente.
La información que inserte en DestinationData depende de la característica de la propiedad de nodo correspondiente: esto se describe en Acceder al árbol LocalEnvironment.
El elemento hijo de Destination es RouterList. Tiene un solo hijo denominado DestinationData, que tiene una sola entrada denominada labelName. Si utiliza un escenario de direccionamiento dinámico que utilice los nodos RouteToLabel y Label, debe establecer el subárbol Destination con un RouterList que contenga las etiquetas de referencia.
El tema para cada nodo de salida contiene más información sobre el contenido de WrittenDestination para WebSphere MQ y WebSphere MQ Everyplace.
Cuando finaliza el proceso del flujo de mensajes, se elimina el árbol Entorno local.
El Ejemplo Reserva de vuelos y el Ejemplo Direccionamiento de mensajes muestran cómo utilizar el Entorno local para direccionar los mensajes dinámicamente basándose en la lista de destino. El Ejemplo de extensión definida por el usuario utiliza el Entorno local para almacenar información que posteriormente se añade al mensaje de salida creado por el flujo de mensajes.