Sugerencias y restricciones de la correlación de mensajes

Estas sugerencias presuponen que ya ha creado un nodo de correlación dentro del flujo de mensajes, ha abierto el Editor de correlaciones de mensajes y ha seleccionado un mensaje de origen y uno de destino:

El origen es una lista y el destino es una lista del origen pero con una entrada nueva al principio de la lista

  1. Expanda el destino para visualizar el elemento para el que desea crear una primera instancia nueva. Este puede ser una estructura o un elemento simple.
  2. Pulse el botón derecho del ratón en el elemento y pulse Si. Aparece una línea de condición inmediatamente debajo.
  3. Pulse el botón derecho del ratón en el elemento y pulse Copiar. Vaya a la línea de condición y pulse Pegar. Ahora hay dos entradas en la hoja de cálculo para el elemento.
  4. Establezca la primera de estas entradas en los valores que desee. Esta es la primera instancia.
  5. Pulse el botón derecho del ratón en la segunda entrada y pulse Para. Aparece una línea for en la hoja de cálculo.
  6. Establezca la segunda entrada en el valor o valores correlacionados desde el origen.
  7. Establezca la entrada for en la condición de bucle.
  8. Pulse for, luego arrastre el campo de origen que representa la condición de bucle al editor de expresiones.

Cambio del analizador de ejecución de destino

Al crear por primera vez la correlación, debe designar un conjunto de mensajes para el mensaje de destino. El analizador asociado al mensaje de salida es el analizador de ejecución asociado al conjunto de mensajes. Por ejemplo, la primera vez que se crea un conjunto de mensajes, el analizador de ejecución por omisión es MRM. Esto significa que el Nodo Mapping genera ESQL con el formato siguiente:
SET OutputRoot.MRM.Fielda...
Si cambia el analizador de ejecución a XML o XMLNSC, por ejemplo, el nodo Mapping genera ESQL con el formato siguiente:
SET OutputRoot.XMLNSC...
El analizador del mensaje de origen lo determina la cabecera MQRFH2 o el nodo Input. El Nodo Mapping puede manejar todos los analizadores de la entrada. El Nodo Mapping genera un mensaje de destino con el analizador que coincide con el analizador de ejecución del conjunto de mensajes.
  1. Abra el archivo de conjunto de mensajes messageset.mset.
  2. Cambie el analizador de ejecución por un valor de su elección y guarde el proyecto o proyectos de flujo de mensajes, haciendo referencia a este conjunto de mensajes para fines de correlación.
  3. Si ha cambiado el analizador a MRM, despliegue el conjunto de mensajes.
  4. Despliegue el flujo de mensajes que contiene las correlaciones y pruebe su ESQL en un nodo Compute y en otros nodos, para asegurarse de que todavía funcionan como se espera.

Alterar temporalmente el nombre de esquema de la base de datos

Para cambiar el nombre del esquema de base de datos que se genera en ESQL, utilice el asistente Alterar temporalmente esquema RDB en el recuadro de diálogo Especificar esquema de ejecución. El valor por omisión es el nombre de esquema de las definiciones de base de datos que se importan al Kit de herramientas de Message Brokers. Utilice este recuadro de diálogo para cambiar el valor.

Correlación de mensajes de proceso por lotes

Puede configurar una correlación de mensajes que ordena y divide los componentes de un mensaje con varias partes en una serie de mensajes de proceso por lotes. Estos componentes pueden ser mensajes u objetos, y pueden tener distintos formatos. Si es éste el caso, se convierte cada componente y se vuelve a ensamblar el mensaje antes de reenviarlo.
  1. Utilice un Nodo RouteToLabel en el flujo de mensajes para recibir mensajes de varias partes como entrada.

    El nodo RouteToLabel es el siguiente nodo después del Nodo Mapping y hace que el flujo salte automáticamente a la etiqueta especificada. Puede especificar un único valor para RouteToLabel en una correlación de división, para todas las correlaciones que produzcan como salida un mensaje ensamblado. También puede utilizar condiciones para establecer el valor para RouteToLabel según los valores en el mensaje de origen.

  2. Utilice el Editor de correlaciones de mensajes para crear correlaciones que transformen y propaguen los mensajes de proceso en lotes en un solo nodo, sin tener que definir una estructura de datos intermedia.

Los mensajes de varias partes también pueden contener mensajes incorporados de repetición, en los que cada instancia repetida de un mensaje se propaga por separado. Los mensajes incorporados deben provenir del mismo conjunto de mensajes que el mensaje padre.

Restricciones de la correlación

A menos que se indique explícitamente, puede conseguir la funcionalidad necesaria llamando a una función o procedimiento ESQL. A continuación se indican algunas restricciones:
  • Los campos de contenido mixto no se pueden correlacionar.
  • No se pueden generar excepciones directamente en nodos de correlación.
  • Los elementos autodefinidos no se pueden manipular en los nodos de correlación (hay soporte limitado para comodines cuando éstos representan mensajes incorporados).
  • El árbol Entorno no se puede manipular en el nodo Mapping.
  • No se pueden definir ni establecer variables de usuario.
  • Las expresiones CASE no se pueden emular; debe utilizar if/else.
  • Los árboles no se pueden copiar de la entrada en la salida para modificar elementos dentro del árbol copiado. Por ejemplo, el ESQL siguiente no se puede modelar en un Nodo Mapping:
    SET OutputRoot.MQMD = InputRoot.MQMD; SET OutputRoot.MQMD.ReplyToQ = 'NEW.QUEUE';
    Debe establecer cada campo de la estructura individualmente si tiene la intención de modificar uno o más campos hermano.
Conceptos relacionados
Editor de correlaciones de mensajes
Analizador y dominio MRM
Analizadores y dominios XML
Tareas relacionadas
Desarrollo de ESQL
Referencia relacionada
Nodo Mapping
Nodo Compute
Nodo RouteToLabel
Correlaciones de mensajes
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
ar25245_