Este tema contiene las secciones siguientes:
Utilice el nodo RouteToLabel en combinación con uno o más nodos Label para determinar dinámicamente la ruta que toma un mensaje a través del flujo de mensajes, basándose en su contenido. El nodo RouteToLabel interroga el entorno local del mensaje para determinar el identificador del nodo Label al que dirigir el mensaje.
Debe preceder el nodo RouteToLabel en el flujo de mensajes con un nodo Compute que rellene el entorno local del mensaje con los identificadores de uno o más nodos Label que presentan la siguiente secuencia de proceso para el mensaje. Los destinos están definidos como una lista de nombres de etiquetas en el árbol de entorno local en una ubicación específica. Este extracto de ESQL del ejemplo de Reserva de vuelos (al que se puede enlazar más abajo) proporciona un ejemplo de cómo configurar el contenido de entorno local en un nodo Compute:
IF InputRoot.XML.PassengerQuery.ReservationNumber<>'' THEN SET OutputLocalEnvironment.Destination.RouterList.DestinationData[1].labelname = 'SinglePassenger'; ELSE SET OutputLocalEnvironment.Destination.RouterList.DestinationData[1].labelname = 'AllReservations'; END IF;
Los nombres de etiqueta pueden ser cualquier valor de serie de caracteres y pueden especificarse explícitamente en el nodo Compute, tomarse o transformarse a partir de cualquier campo del mensaje, o recuperarse de una base de datos. Un nombre de etiqueta en el entorno local debe coincidir con la propiedad Nombre de etiqueta de un nodo Label correspondiente.
Cuando configura el nodo Compute, también debe seleccionar un valor para la propiedad Modalidad de cálculo de la lista desplegable que incluye Entorno local.
Diseñe su flujo de mensajes de manera que un nodo RouteToLabel preceda lógicamente uno o más nodos Label dentro de un flujo de mensajes, pero no enlace físicamente el nodo RouteToLabel con un nodo Label. La conexión la efectúa el intermediario, cuando se requiere, según el contenido del entorno local.
El nodo RouteToLabel se representa en el entorno de trabajo con el siguiente icono:
Consulte el ejemplo siguiente para ver cómo puede utilizar este nodo:
Cuando se haya transferido una instancia del nodo RouteToLabel a un flujo de mensajes, podrá configurarlo. Pulse el botón derecho del ratón en el nodo en la vista de editor y pulse Propiedades. Aparecen las propiedades básicas del nodo.
Todas las propiedades obligatorias para las que ha de entrar un valor (las que no tienen definido un valor por omisión) aparecen con un asterisco en el diálogo de propiedades.
Configure el nodo RouteToLabel de la manera siguiente:
Pulse Cancelar para cerrar el diálogo y eliminar todos los cambios que ha efectuado en las propiedades.
Los terminales del nodo RouteToLabel se describen en la siguiente tabla.
Terminal | Descripción |
---|---|
In (de entrada) | El terminal de entrada que acepta un mensaje para que lo procese el nodo. |
Failure (de anomalías) | El terminal de salida al que se dirige un mensaje si se ha detectado una anomalía durante su proceso. |
Las tablas siguientes describen las propiedades del nodo; la columna con la cabecera O indica si la propiedad es obligatoria (marcada con un asterisco en el diálogo de propiedades si tiene que entrar un valor cuando no hay definido ningún valor por omisión), la columna con la cabecera C indica si la propiedad es configurable (puede cambiar el valor cuando añade el flujo de mensajes al archivo bar para desplegarlo).
Las propiedades básicas del nodo RouteToLabel se describen en la siguiente tabla.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Modalidad | Sí | No | Direccionar a último | Cómo procesa el nodo RouteToLabel los elementos dentro del entorno local asociado al mensaje actual. |
Las propiedades de descripción del nodo RouteToLabel se describen en la siguiente tabla.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Descripción corta | No | No | Descripción breve del nodo. | |
Descripción larga | No | No | Texto que describe el propósito del nodo en el flujo de mensajes. |