Utilizar mensajes de control en flujos de agregación

En WebSphere Message Broker, el comportamiento predeterminado es que se omitan las conexiones entre los nodos AggregateControl y AggregateReply para enviar mensajes de control. Esta configuración optimiza el rendimiento y elimina la posibilidad de que el nodo AggregateReply reciba los mensajes de respuesta antes que el mensaje de control.

Antes de empezar:

Para realizar esta tarea, tiene que haber completado las tareas siguientes:

Los mensajes de control no son necesarios para que las agregaciones funcionen correctamente. Sin embargo, sigue siendo posible enviar mensajes de control en los flujos de agregación si es necesario. Para enviar mensajes de control en un flujo de mensajes creado en WebSphere Message Broker Versión 6.0, consulte Configuración de flujos de mensajes para enviar mensajes de control y Configuración de un entorno de intermediario para enviar mensajes de control.
Importante: Si ha creado flujos de mensajes en Versión 5.0 y los ha configurado para utilizar mensajes de control y desea continuar utilizando los mensajes de control, consulte Configuración de un entorno de intermediario para enviar mensajes de control. A menos que complete esta tarea, se omiten las conexiones entre los nodos AggregateControl y AggregateReply que se crearon en versiones anteriores del producto.
Para ver un ejemplo práctico de agregación (sin el uso de mensajes de control), consulte el ejemplo siguiente: Los ejemplos sólo pueden verse cuando se utiliza el centro de información que está integrado en el Kit de herramientas de Message Brokers.

Configuración de flujos de mensajes para enviar mensajes de control

Para configurar flujos de mensajes para enviar mensajes de control de un nodo AggregateControl a un nodo AggregateReply:
  1. Vaya a Perspectiva de Desarrollo de aplicaciones de intermediario.
  2. Si ha creado los flujos de abanico de salida y abanico de entrada en un solo flujo de mensajes:
    1. Abra el flujo de mensajes de agregación.
    2. Conecte el terminal de Control del nodo AggregateControl al terminal de Control del nodo AggregateReply para realizar la asociación.

    Esta conexión se conoce como conexión directa entre dos nodos de agregación.

  3. Si ha creado flujos de mensajes de abanico de salida y abanico de entrada separados:
    1. Abra el flujo de mensajes de abanico de salida.
    2. Configure el nodo AggregateControl, consulte Crear el flujo de mensajes de abanico de salida de agregación.
    3. Al llegar a este punto, podrá puede configurar un nodo Compute que cree un mensaje de salida válido que contenga el mensaje de control. Por ejemplo, para pasar el mensaje de control a un nodo MQOutput, configure el nodo Compute para añadir un MQMD al mensaje y complete los campos necesarios en dicha cabecera. Por ejemplo, puede codificar el ESQL siguiente:
      SET OutputRoot.MQMD.Version =  MQMD_CURRENT_VERSION;
      SET OutputRoot.MQMD.Format = MQFMT_STRING;
    4. Configure un nodo de salida que represente el destino intermedio para el mensaje de control. Por ejemplo, para enviar el mensaje de control a a una cola intermedia de WebSphere MQ, incluya un nodo MQOutput e identifique la cola de destino y las propiedades Básicas Nombre del gestor de colas y Nombre de cola.
    5. Conecte el terminal de Control del nodo AggregateControl al terminal de entrada (In) del nodo Compute y conecte el terminal de salida (Out) del nodo Compute al terminal de entrada (In) del nodo de salida que represente el destino intermedio del mensaje de control.
    6. Abra el flujo de mensajes de abanico de entrada.
    7. Configure un nodo de entrada para recibir los mensajes de respuesta, consulte Crear el flujo de mensajes de abanico de entrada de agregación. Este nodo de entrada también recibe la información de control del nodo AggregateControl. Por ejemplo, establezca la propiedad básica Nombre de cola del nodo MQInput para recibir el mensaje de respuesta y de control de una cola WebSphere MQ intermedia.
    8. Añada un nodo Filter al flujo de abanico de entrada después del nodo de entrada y antes del nodo AggregateReply, consulte Evitar la privación de hebras en flujos de abanico de entrada.
    9. Conecte el terminal de salida (Out) del nodo de entrada al terminal de entrada (In) del nodo Filter.
    10. Conecte los terminales de salida (Out) del nodo Filter al terminal de Control y al terminal de entrada del nodo AggregateReply.

    Esta conexión se conoce como conexión indirecta entre los dos nodos de agregación.

Configuración de un entorno de intermediario para enviar mensajes de control

De forma predeterminada, en WebSphere Message Broker Versión 6.0, se ignorarán las conexiones del terminal de Control del nodo AggregateRequest al nodo AggregateReply. Para que estas conexiones sean activas, cree la variable de entorno MQSI_AGGR_COMPAT_MODE en el entorno del intermediario. Por omisión, la variable de entorno no existe. La existencia de la variable de entorno significa que las conexiones del nodo AggregateControl están activas, independientemente del valor en el que esté establecida la variable de entorno.

Si no se ha creado la variable de entorno MQSI_AGGR_COMPAT_MODE, se utiliza el comportamiento predeterminado para flujos de abanico de salida de agregación. Si el terminal de Control de nodo AggregateControl está conectado, directa o indirectamente, al terminal de entrada (In) del nodo AggregateReply, esta conexión se ignora y no se envía ningún mensaje.

Si se ha creado la variable de entorno MQSI_AGGR_COMPAT_MODE, no se utiliza el comportamiento predeterminado para los flujos de abanico de salida, permitiéndole enviar mensajes de control del nodo AggregateControl al nodo AggregateReply. Si el terminal de control del nodo AggregateControl está conectado, directa o indirectamente, al terminal de entrada (In) del nodo AggregateReply, consulte Crear el flujo de mensajes de abanico de salida de agregación, esta conexión se reconoce y se envía un mensaje de control. Tenga en cuenta que esta configuración no es la óptima y puede afectar al rendimiento.

Para crear la variable MQSI_AGGR_COMPAT_MODE de forma que permita el reconocimiento de las conexiones entre los nodos AggregateControl y AggregateReply:
  • Windows platform En Windows:
    1. Abra las propiedades del sistema pulsando Inicio > Panel de control > Sistema.
    2. Pulse el separador Avanzado.
    3. Pulse Variables de entorno.
    4. En el panel Variables del sistema, pulse en Nueva.
    5. Bajo Nombre de variable, escriba MQSI_AGGR_COMPAT_MODE.
    6. (Opcional) Puede especificar un Valor de variable o puede dejar el campo en blanco.
    7. Para que la variable de entorno entre en vigor, reinicie el sistema.
  • Linux platformUNIX platformz/OS platform En Linux, UNIX y z/OS:
    1. Edite el perfil del ID de usuario de intermediario e incluya el código siguiente:
      export MQSI_AGGR_COMPAT_MODE=
    2. Vuelva a cargar el perfil.
    3. Reinicie el intermediario.
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última actualización : 2009-02-16 13:53:52

ac12312_