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

Nodo Collector

Utilice el nodo Collector para crear colecciones de mensajes basándose en reglas que se configuran en el nodo.

Este tema contiene las siguientes secciones:

Finalidad

Utilice el nodo Collector para crear una colección de mensajes de uno o varios orígenes basándose en criterios configurables. Por ejemplo, puede que necesite extraer, combinar y transformar información de tres orígenes distintos. Los mensajes de estos diferentes orígenes pueden llegar a los terminales de salida en distintos momentos y en un orden desconocido. Una colección se define configurando un manejador de sucesos para cada terminal de entrada. Cada manejador de sucesos controla si se acepta un mensaje en una colección en función de las siguientes propiedades:
  • Número de mensajes
  • Recopilar mensajes durante un periodo determinado
  • Comparar el contenido de una vía de acceso de correlación
  • Comparar el contenido con un patrón de correlación
Las propiedades de correlación permiten realizar colecciones de acuerdo con el contenido de los mensajes. El contenido se especifica con una expresión XPath. El nodo Collector garantiza que cada colección contiene una serie de correlación idéntica en todas sus entradas. Para obtener más información sobre la sintaxis de consultas XPath 1.0, consulte Especificación W3C XPath 1.0.

Una colección de mensajes se crea cuando el primer mensaje llega a cualquiera de los terminales de entrada dinámicos del nodo Collector. Las colecciones de mensajes se almacenan en una cola WebSphere MQ.

Cuando se satisfacen las condiciones establecidas por los manejadores de sucesos para una colección de mensajes, la colección de mensajes se completa y está lista para propagarse. Por ejemplo, si establece los manejadores de sucesos en el nodo Collector de modo que esperen dos mensajes para cada terminal de salida, la colección de mensajes se completa cuando se hayan recibido dos mensajes por cada terminal. Cuando el mensaje siguiente llega a un terminal de entrada, ese mensaje se añade a una nueva colección de mensajes. Puede seleccionar entre varias opciones para determinar cómo se coordina la propagación de la colección de mensajes. Puede especificar que la colección de mensajes se propague automáticamente para su proceso o, si lo prefiere, que la colección de mensajes se propague cuando se recibe un mensaje de control.

También puede establecer un tiempo de espera de caducidad para las colecciones de mensajes que no puedan completarse en un intervalo de tiempo satisfactorio, mediante una propiedad en el nodo Collector. El tiempo de espera empieza cuando el primer mensaje se añade a una colección de mensajes. Si el tiempo de espera caduca antes que la colección de mensajes se complete, la colección de mensajes incompleta se propaga al terminal Expire (de caducidad). Establezca un valor para la caducidad de la colección para asegurarse de que las colecciones de mensajes incompletas no permanezcan almacenadas en una cola de forma indefinida. Añada el proceso adecuado al flujo de mensajes para manejar las colecciones de mensajes incompletas.

El nodo Collector se representa en la bandeja Direccionamiento de la paleta de nodos de flujos de mensajes, y se representa en el WebSphere Message Broker Toolkit con el siguiente icono:

Icono de nodo Collector

Utilización de este nodo en un flujo de mensajes

Consulte el ejemplo siguiente para ver cómo se debe utilizar este nodo:

Puede ver información sobre los ejemplos sólo cuando utilice el Information Center que está integrado en WebSphere Message Broker Toolkit o el Information Center en línea. Puede ejecutar ejemplos sólo cuando utilice el Information Center que está integrado en WebSphere Message Broker Toolkit.

Utilice el nodo Collector para agrupar mensajes de distintos orígenes de entrada para su proceso adicional. Una colección de mensajes sólo se puede procesar por los siguientes nodos:
  • Compute
  • JavaCompute
  • .NETCompute
  • PHPCompute
Es posible que se generen nodos si intenta procesar una colección de mensajes con un nodo que no dé soporte a colecciones de mensajes.

El nodo Collector tiene un terminal de estado estático, Control y cuatro terminales de salida estáticos, Out (de salida), Expire (de caducidad), Failure (de anomalías) y Catch (de captación). Estos terminales estáticos están siempre presentes en el nodo. Además de los terminales de entrada y salida estáticos, puede añadir terminales de entrada para cada origen de entrada que desee utilizar con el nodo Collector.

Puede añadir y configurar tantos terminales de entrada como requiera el nodo Collector. Puede configurar las propiedades de cada terminal de entrada de forma separada para controlar cómo se añaden a la colección de mensajes adecuada los mensajes recibidos en cada terminal de entrada.

Puede utilizar el terminal Control para desencadenar la salida de colecciones de mensajes completadas del nodo Collector. Configure la propiedad Coordinación de sucesos para establecer el comportamiento del nodo Collector cuando se reciban mensajes en el terminal Control.

Cuando una colección de mensajes se completa satisfactoriamente, estará lista para propagarse al terminal Out (de salida). Si se establece un valor superior a cero en la propiedad Caducidad de la colección, todas las colecciones de mensajes incompletas se propagan al terminal Expire (de caducidad).

Cuando una colección de mensajes se completa se crea una nueva transacción y se propaga al nodo siguiente. Todas las excepciones que se detectan de nodos en sentido descendente hacen que la colección de mensajes se propaguen al terminal Catch (de captación) en el nodo Collector, junto con la lista de excepciones. Si el terminal Catch (de captación) no está conectado a ningún otro nodo, la transacción se retrotrae. Los mensajes de la colección de mensajes se restituyen en la cola del nodo Collector. La lista de excepciones se graba en el registro del sistema. Este paso se repite hasta la colección de mensajes se procesa satisfactoriamente. Para evitar que una excepción provoque que falle una colección de mensajes a la hora de propagarla, no olvide conectar el termina Catch (de captación) a un flujo para manejar todas las excepciones. Asegúrese también de establecer un tiempo de espera de caducidad para propagar colecciones de mensajes incompletas.

Nota: Todas las excepciones que se producen en sentido descendente del nodo Collector se redireccionan al terminal Catch (de caducidad). La excepción no se procesa en sentido ascendente porque la finalización de la colección de mensajes en el nodo Collector es el inicio de la transacción. Este comportamiento es parecido al nodo AggregateReply. No conecte un nodo Throw con el terminal Catch (de captación) del nodo Collector porque el control se devuelve al mismo terminal Catch (de captación).

Si utiliza instancias adicionales de un flujo de mensajes o varias entradas para el nodo Collector, puede utilizar las propiedades Vía de acceso de correlación y Patrón de correlación para asegurarse de que los mensajes se añaden a la misma colección de mensajes. Si utiliza instancias adicionales, o varias entradas para el nodo Collector, el orden de los mensajes de la colección de mensajes puede ser imprevisible. El orden de los mensajes también es imprevisible si utiliza colas de clústeres WebSphere MQ como entradas para el nodo Collector.

Configuración del nodo Collector

Cuando haya colocado una instancia del nodo Collector en un flujo de mensajes, podrá configurarlo; consulte Configuración del nodo Collector y Configurar un nodo de flujo de mensajes. Las propiedades del nodo se visualizan en la vista Propiedades. Todas las propiedades obligatorias para las que debe especificar un valor (las que no tienen un valor predeterminado definido) están marcadas con un asterisco.

Terminales y propiedades

Los terminales de nodo Collector se describen en la siguiente tabla.

Terminal Descripción
Control El terminal de entrada estático que acepta los mensajes de control. Todos los mensajes recibidos por el terminal Control se tratan como un mensaje de control.
Out (de salida) El terminal de salida al que se direcciona la colección de mensajes completa si los mensajes recibidos satisfacen las condiciones configuradas para la colección de mensajes.
Expire (de caducidad) El terminal de salida al que se direcciona la colección de mensajes incompleta si los mensajes recibidos no satisfacen las condiciones configuradas dentro del intervalo de tiempo especificado en la propiedad Caducidad de la colección. Si no ha establecido un valor para la propiedad Caducidad de la colección, este terminal no se utiliza.
Failure (de anomalías) El terminal de salida al que se direcciona una colección de mensajes si se ha detectado una anomalía durante su proceso.
Catch (de captación) El terminal de salida al que se direcciona una colección de mensajes si se genera una excepción en sentido descendente y después este nodo la capta.

El nodo Collector puede tener más terminales de entrada dinámicos. Puede crear etiquetas de terminales numéricos para el nodo Collector; sin embargo, el nodo Compute no da soporte a las etiquetas numéricas. Por lo tanto, cuando vaya a definir un terminal personalizado para el nodo Collector, asegúrese de que el nombre comienza por un carácter alfabético.

Las tablas siguientes describen las propiedades de nodo. La columna con la cabecera O indica si la propiedad es obligatoria (marcada con un asterisco si tiene que entrar un valor cuando no hay definido ningún valor predeterminado); 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 de descripción del nodo Collector se describen en la siguiente tabla:

Propiedad O C Valor predeterminado Descripción
Nombre de nodo No No El tipo de nodo, Collector El nombre del nodo.
Descripción corta No No   Una descripción breve del nodo.
Descripción larga No No   Texto que describe la finalidad del nodo en el flujo de mensajes.

El nodo Collector tiene dos tipos de propiedades básicas. Puede establecer propiedades para cada terminal de entrada dinámico que se añade al nodo Collector en la tabla Definición de colección en las propiedades Básicas. Las propiedades de la tabla Definición de colección define los manejadores de sucesos para los mensajes que llegan a los terminales de entrada individuales. En la siguiente tabla se describen las propiedades que se pueden establecer para cada uno de los terminales de entrada dinámicos:

Propiedad O C Valor predeterminado Descripción
Terminal No El nombre de terminal Terminal no es una propiedad del nodo sino una etiqueta para mostrar el nombre del terminal de entrada dinámico.

Especifique valores para las propiedades del manejador de sucesos para cada terminal de entrada dinámico que ha añadido al nodo Collector en la tabla Definición de colección.

Cantidad No 1 Esta propiedad especifica el número de mensajes que el terminal de entrada acepta para añadir a una colección de mensajes.

El valor predeterminado es 1; si acepta este valor predeterminado, sólo se añade un mensaje a una colección. Si se recibe un segundo mensaje en el terminal, se crea una nueva instancia de colección para el mismo. Si selecciona 0 (cero) o no especifica ningún valor, no hay ningún límite al número de mensajes aceptados. En este caso, el valor que se establece en la propiedad Tiempo de espera debe ser mayor que cero.

Tiempo de espera No 0 Esta propiedad especifica el tiempo máximo en segundos durante el que el terminal de entrada acepta mensajes. Si selecciona 0 (cero), se inhabilita el tiempo de espera y no hay ningún límite en el tiempo de espera de mensajes. En este caso, el valor que se establece en la propiedad Cantidad debe ser mayor que cero.
Vía de acceso de correlación No No   Los mensajes sólo se aceptan en una colección de mensajes si tienen la misma serie de correlación. Si el mensaje tiene una serie de correlación distinta, se ofrece a la colección siguiente de la cola. Si ninguna de las colecciones acepta el mensaje, se crea una nueva colección con la serie de correlación establecida en el valor de la serie de correlación del mensaje. Los mensajes se agrupan por el valor de la vía de acceso de correlación. La vía de acceso de correlación se define mediante XPath. Puede definir su propia vía de acceso de correlación mediante XPath, o seleccionar una de las siguientes vías de acceso predefinidas:
  • $LocalEnvironment/Wildcard/WildcardMatch
  • $Root/MQMD/CorrelId
  • $LocalEnvironment/FileInput/Name
  • $Root/JMSTransport/Transport_Folders/Header_Values/JMSCorrelationID

Si define un valor para Vía de acceso de correlación, puede configurar de forma opcional un Patrón de correlación.

Patrón de correlación No No   Esta propiedad especifica un patrón con el que comparar el contenido de una vía de acceso de correlación. Debe establecer la propiedad Vía de acceso de correlación antes de establecer el valor de la propiedad Patrón de correlación. Si establece el patrón de correlación, debe utilizar un carácter *, alrededor del cual se podrá escribir más texto. Por ejemplo, *.dat.

Si el patrón de correlación está en blanco, el mensaje de entrada debe coincidir con todo el texto de la vía de acceso de correlación.

Las propiedades Básicas restantes para el nodo Collector se muestran en la siguiente tabla:

Propiedad O C Valor predeterminado Descripción Propiedad de mandato mqsiapplybaroverride
Nombre de colección No No   Esta propiedad especifica el nombre de la colección de mensaje.
  • Si establece esta propiedad de modo que contenga el comodín *, el comodín se sustituye por la serie de correlación del manejador de sucesos relevante.
  • Si deja esta propiedad en blanco o utiliza * y si la serie de correlación está vacía, el nombre de colección se establece en una serie vacía.
 
Caducidad de la colección No   El periodo de tiempo, en segundos, que el nodo Collector espera a que lleguen mensajes. Una vez transcurrido este intervalo, una colección de mensajes incompleta caduca y se propaga al terminal de salida Expire (de caducidad).

Si establece esta propiedad en cero, la caducidad de la colección está inhabilitada y el nodo Collector espera mensajes indefinidamente. Establezca un valor mayor que cero para asegurarse de que se procese la colección de mensajes, aunque no se hayan recibido todos los mensajes. Si no se establece esta propiedad, se emite un aviso.

Esta propiedad se sustituirá por la propiedad Caducidad de la colección, si está establecida, en el servicio configurable Collector.

collectionExpiry

Las propiedades avanzadas del nodo Collector se describen en la tabla siguiente:

Propiedad O C Valor predeterminado Descripción
Modalidad de persistencia No No El tipo de nodo, Collector Esta propiedad especifica si los mensajes se almacenan en las colas del nodo Collector de forma persistente.
Coordinación de sucesos No Inhabilitado Esta propiedad especifica cómo se manejan los mensajes recibidos en el terminal Control para el proceso de coordinación de sucesos en el nodo Collector.
  • Si acepta el valor predeterminado (Inhabilitado), los mensajes del terminal Control se ignoran y las colecciones se propagan cuando se completan.
  • Si selecciona Todas las colecciones completas, las colecciones de mensajes completas se mantienen en una cola WebSphere MQ. Cuando se recibe un mensaje en el terminal Control, todas las colecciones de mensajes completas de la cola WebSphere MQ se propagan al terminal Out (de salida).
  • Si selecciona Primera colección completa, las colecciones de mensajes completas se mantienen en una cola WebSphere MQ. Cuando un mensaje se recibe en el terminal Control, la primera colección de mensajes completa de la cola WebSphere MQ se propaga al terminal Out (de salida). Las colecciones se propagan en el mismo orden en el que se completan. Si la cola WebSphere MQ está vacía cuando se recibe el mensaje en el terminal Control, la colección de mensajes completa siguiente se propaga al terminal Out (de salida).
Servicio configurable No Ninguno establecido Esta propiedad especifica el nombre del servicio configurable Collector que debe utilizar el nodo Collector.

Las propiedades establecidas por el servicio configurable Collector alteran temporalmente las propiedades equivalentes establecidas en el nodo Collector.

Para obtener más información sobre las propiedades que puede establecer con este servicio configurable, consulte Propiedades de servicios configurables.

Las propiedades de supervisión del nodo se describen en la siguiente tabla.
Propiedad O C Valor predeterminado Descripción
Sucesos No No Ninguno Los sucesos que se han definido para el nodo se visualizan en este separador. De forma predeterminada, no se define ningún suceso de supervisión en ningún nodo en un flujo de mensajes. Utilice Añadir, Editar y Suprimir para crear, cambiar o suprimir sucesos de supervisión para el nodo; consulte Configuración de orígenes de sucesos de supervisión utilizando propiedades de supervisión para obtener detalles.

Puede habilitar e inhabilitar sucesos que se muestran aquí seleccionando o deseleccionando el recuadro Habilitado.

No puede utilizar propiedades de supervisión para configurar sucesos de transacción de los nodos siguientes: En su lugar, utilice un perfil de supervisión; consulte Configuración de orígenes de sucesos de supervisión utilizando un perfil de supervisión.
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:42


Tema de referenciaTema de referencia | Versión 8.0.0.5 | ac37820_