Evitar la privación de hebras en flujos de abanico de entrada

Este tema sólo se aplica si el terminal de control del nodo de control Aggregate del flujo de abanico de salida está conectado para producir mensajes de control en una cola. Si no conecta el terminal de control, puede saltarse los temas descritos en esta sección. Para obtener información adicional sobre cómo conectar el terminal de control de AggregateControl, consulte Utilizar mensajes de control en flujos de agregación.

El nodo de respuesta de agregación tiene dos terminales de entrada: entrada y control. Si utiliza estos dos terminales, recuerde que el uso del terminal de control es opcional, el modo más eficiente de proporcionar datos al nodo de respuesta de agregación consiste en tener un solo nodo MQInput para el flujo de abanico de entrada seguido de un nodo Filter. El nodo Filter se utiliza para direccionar del modo apropiado un mensaje de entrada a los terminales de entrada o control del nodo de respuesta de agregación.

Utilice un solo nodo MQInput seguido de un nodo Filter en lugar de dos nodos MQInput en el flujo de mensajes: uno para el terminal de entrada y otro para el terminal de control. Debe utilizar un solo nodo MQInput porque no hay forma de especificar cómo se deben distribuir las hebras adicionales (disponibles al utilizar instancias adicionales) entre los dos nodos MQInput. Dado que lo más probable es que el tráfico en el terminal de entrada del nodo AggregateReply sea más alto, es útil tener más hebras en ejecución en el nodo de entrada; no es posible configurar esto utilizando dos nodos MQInput. Por consiguiente es posible que el nodo experimente una privación de hebras, haciendo una copia de seguridad de los mensajes de respuesta y obstruyendo los mecanismos de agregación.

Utilice un módulo ESQL similar al que se muestra más abajo en el nodo Filter, para asegurarse de que los mensajes se direccionan al terminal apropiado del nodo AggregateReply:
CREATE FILTER MODULE FanIn_Filter
    CREATE FUNCTION Main() RETURNS BOOLEAN
    BEGIN
        IF Root.XML.ComIbmAggregateControlNode IS NULL THEN
            RETURN TRUE;  -- wired to In
        ELSE
            RETURN FALSE; -- wired to Control
        END IF;
    END;
END MODULE;
Nota: Si no puede configurar el flujo de abanico de entrada como se describe más arriba, puede forzar que el nodo MQInput que está leyendo los mensajes de control se ejecute en una sola hebra. Realice esta tarea configurando el nodo MQInput. Establezca la propiedad de Modalidad de orden en el panel de propiedades avanzadas para que sea Por orden de cola y seleccionando Orden lógico. Esto libera todas las instancias adicionales configuradas para que las utilice el otro nodo MQInput. Tenga en cuenta que, dado que el rendimiento del primer nodo MQInput quedará gravemente limitado, sólo deberá utilizar esta configuración si no tiene ninguna alternativa.
Conceptos relacionados
Visión general de flujos de mensajes
Agregación de flujo de mensajes
Tareas relacionadas
Crear el flujo de mensajes de abanico de entrada de agregación
Crear el flujo de mensajes de abanico de salida de agregación
Asociar flujos de agregación de mensajes de abanico de salida y de abanico de entrada
Establecer valores de tiempo de espera para agregación
Utilizar varios nodos AggregateControl
Manejar excepciones en flujos de agregación
Configurar flujos de agregación
Referencia relacionada
Nodo AggregateControl
Nodo AggregateReply
Nodo AggregateRequest
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
ac12313_