WebSphere Message Broker, Versión 8.0.0.5 Sistemas operativos: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte la información sobre la última versión del producto en IBM Integration Bus, Versión 9.0

Colecciones de mensajes

Una colección de mensajes es un solo mensaje que contiene varios mensajes derivados de uno o más orígenes.

Puede utilizar un nodo Collector para agrupar mensajes de uno o varios orígenes en una colección de mensajes para poder procesarlos por nodos en sentido descendente. También puede crear manualmente una colección de mensajes utilizando un nodo Compute.

Estructura de una colección de mensajes

Un árbol de colección de mensajes contiene subárboles que mantienen el contenido de mensajes individuales recibidos por el nodo Collector. El mensaje ensamblado que se propaga del nodo Collector a otros nodos del flujo de mensajes contiene los cuatro componentes siguientes:
  • Mensaje (incluidas las cabeceras de transporte)
  • Entorno local
  • Entorno global
  • Lista de excepciones
La siguiente figura muestra un ejemplo de una estructura de árbol de mensaje de una colección de mensajes.

Este es un diagrama del árbol de una colección de mensajes. Su contenido se describe en el texto que le rodea.
La colección de mensajes de este ejemplo contiene dos mensajes, uno recibido de WebSphere MQ y otro de un origen de entrada de archivo.

Una colección de mensajes tiene una cabecera Propiedades y un solo elemento de carpeta denominado Colección. Una colección de mensajes también puede tener cero o más atributos que son pares de nombre/valor; el nombre de un atributo debe ser único dentro de una colección de mensajes. Estos pares se muestran como <nombre> / <valor> en la figura. Un atributo estándar para la colección de mensajes es un atributo denominado CollectionName. Si utiliza un nodo Collector para generar una colección de mensajes, el valor del nombre de colección se genera basándose en los valores que se configuran en el nodo. El atributo de nombre de colección no es obligatorio.

Dentro de la carpeta Colección de la estructura de árbol de la colección de mensajes hay carpetas, que aparecen como <nombre de carpeta> en el diagrama. Estas carpetas contienen el árbol de mensaje de cada mensaje añadido a la colección de mensajes. Cada una de estas carpetas tiene un nombre, pero este nombre no tiene que ser exclusivo dentro de la colección de mensajes. El valor del <nombre de carpeta> se obtiene del origen del mensaje de entrada.

No se permiten las colecciones de mensajes anidadas. No se puede utilizar una colección de mensajes como mensaje de origen para otra colección de mensajes. Por ejemplo, si se intenta pasar una colección de mensajes a un terminal de entrada en un nodo Collector, se genera un error.

Los árboles Entorno local, Entorno y Lista de excepciones no se incluyen en la estructura, sino que tratan de forma separada como parte del mensaje ensamblado. No hay ningún concepto de un Entorno local asociado con cada mensaje en una colección de mensajes.

Generación de una colección utilizando un nodo Collector

Se puede utilizar el nodo Collector para realizar varias peticiones síncronas o asíncronas en paralelo. Los resultados de estas peticiones se pueden unir en sentido descendente, si es necesario. Esto es distinto al comportamiento de los nodos de agregación donde hay un patrón fijo de petición/respuesta y donde los mensajes de respuesta se agrupan por ID de petición. En contraposición, el nodo Collector no necesita una fase de abanico de salida inicial y puede agrupar mensajes de entrada no relacionados correlacionando su contenido. Puede configurar terminales de entrada dinámicos en un nodo Collector para recibir mensajes de distintos orígenes. También se pueden configurar propiedades en el nodo Collector, conocidas como manejadores de sucesos, para determinar cómo se añaden mensajes a una colección de mensajes y cuando una colección de mensajes está completa.

Proceso de una colección de mensajes

Una colección de mensajes sólo se admite en los siguientes nodos:
  • Compute
  • JavaCompute
Los demás nodos generarán errores si reciben una colección de mensajes.
Puede utilizar expresiones ESQL o XPath para acceder al contenido de mensajes de una colección de mensajes haciendo referencia a los nombres de carpeta precedidos por InputRoot.Collection. Para acceder al contenido de un mensaje en una colección de mensajes mediante ESQL puede utilizar un código parecido a la siguiente ESQL:
InputRoot.Collection.carpeta1.XMLNSC
En XPath, el elemento raíz es el cuerpo del mensaje. El elemento raíz para la colección de mensajes es el elemento Collection. Por lo tanto, para acceder al contenido de un mensaje de una colección de mensajes utilizando XPath, debe utilizar una expresión parecida a la siguiente XPath:
/carpeta1/XMLNSC
Los ejemplos de expresiones XPath que se pueden utilizar para acceder a la colección de mensajes son:
  • /*: devuelve una lista de todos los mensajes en la colección de mensajes.
  • /@*: devuelve una lista de todos los atributos de la colección de mensajes.
  • /@Name: devuelve el valor del atributo Nombre.

Es posible que no pueda determinar el orden de los mensajes dentro de una colección de mensajes. Si genera una colección de mensajes mediante el nodo Collector, los mensajes se clasifican en el mismo orden que los mensajes que llegan al nodo.

Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Comentarios

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última actualización:
        
        Última actualización: 2015-02-28 16:58:41


Tema de conceptoTema de concepto | Versión 8.0.0.5 | ac37690_