Utilizar mensajes de control en flujos de agregación

Antes de empezar:

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

El tema siguiente describe las acciones necesarias para enviar mensajes de control. En WebSphere Message Broker, el comportamiento por omisión consistirá en que se ignorarán 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. Los mensajes de control no son necesarios para que las agregaciones funcionen correctamente. Sin embargo, es posible enviar mensajes de control en los flujos de agregación si aún 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 en este tema.

Si ha creado flujos de mensajes en la Versión 5.0, 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 en este tema. Las conexiones entre los nodos AggregateControl y AggregateReply creados en versiones anteriores del producto se ignorarán en la Versión 6.0 a menos que realice esta tarea.

Para ver un ejemplo de agregación en funcionamiento (sin utilizar mensajes de control), consulte el Ejemplo Reserva de vuelos.

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 de 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 efectuar la asociación.

    Se hace referencia a esto como una conexión directa entre los dos nodos de agregación.

  3. Si ha creado flujos de mensajes de abanico de salida y abanico de entrada independientes:
    1. Abra el flujo de mensajes de abanico de salida.
    2. Configure el nodo AggregateControl como se describe en Crear el flujo de mensajes de abanico de salida de agregación.
    3. En esta etapa puede configurar un nodo Compute que cree un mensaje de salida válido que contenga el mensaje de control. Por ejemplo, si desea pasar el mensaje de control a un nodo MQOutput, configure el nodo Compute para añadir una MQMD al mensaje y complete los campos necesarios de dicha cabecera. Por ejemplo, puede codificar el ESQL siguiente:
      Inicio del cambio
      SET OutputRoot.MQMD.StrucId = MQMD_STRUC_ID;
      SET OutputRoot.MQMD.Version =  MQMD_CURRENT_VERSION;
      SET OutputRoot.MQMD.Format = MQFMT_STRING;
      Fin del cambio
    4. Configure un nodo de salida que represente el destino intermedio para el mensaje de control. Por ejemplo, si desea enviar el mensaje de control a una cola WebSphere MQ intermedia, incluya un nodo MQOutput e identifique la cola de destino en 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 del nodo Compute y el terminal de salida de nodo Compute al terminal de entrada del nodo de salida que representa el destino intermedio para el 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 como se describe en Crear el flujo de mensajes de abanico de entrada de agregación. Este nodo de entrada también recibirá la información de control del nodo AggregateControl. Por ejemplo, establezca la propiedad básica Nombre de cola del nodo MQInput para recibir la respuesta y el mensaje de control de una cola de WebSphere MQ intermedia.
    8. Añada un nodo de filtro al flujo de abanico de entrada después del nodo de entrada y antes del nodo AggregateReply tal como se describe en Evitar la privación de hebras en flujos de abanico de entrada.
    9. Conecte el terminal de salida del nodo de entrada al terminal de entrada del nodo Filter.
    10. Conecte los terminales de salida del nodo Filter al terminal de control y al terminal de entrada del nodo AggregateReply.

    Se hace referencia a esto como una conexión indirecta entre los dos nodos de agregación.

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

Por omisión, en WebSphere Message Broker Versión 6.0 se ignoran 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 utilizará el comportamiento por omisión para los flujos de abanico de salida de agregación. Si el terminal de control del nodo AggregateControl está conectado, directa o indirectamente al terminal de entrada del nodo AggregateReply, se ignorará esta conexión y no se enviará ningún mensaje de control.

Si se crea la variable de entorno MQSI_AGGR_COMPAT_MODE, no se utilizará el comportamiento por omisión para los flujos de abanico de salida de agregación, permitiéndole enviar mensajes de control del nodo AggregateControl al nodo AggregateReply. Si se conecta el terminal de control del nodo AggregateControl, directa o indirectamente, al terminal de entrada del nodo AggregateReply, tal como se describe en Crear el flujo de mensajes de abanico de salida de agregación, se reconocerá esta conexión y se enviará un mensaje de control. Tenga en cuenta que esta configuración no es la óptima y puede reducir el rendimiento.

Si desea crear la variable MQSI_AGGR_COMPAT_MODE para permitir que se reconozcan las conexiones entre los nodos AggregateControl y AggregateReply:
  • En Windows:
    1. Abra las propiedades del sistema: Inicio > Panel de control > Sistema
    2. Pulse en la pestaña Avanzado.
    3. Pulse Variables de entorno.
    4. Bajo el panel Variables del sistema, pulse Nueva.
    5. Bajo Nombre de variable, escriba MQSI_AGGR_COMPAT_MODE. Si lo desea puede rellenar el Valor de variable o, de lo contrario, déjelo en blanco.
    6. Para que la variable de entorno entre en vigor, deberá reiniciar el sistema.
  • En Linux, UNIX y z/OS:
    1. Edite el perfil del ID de usuario de intermediario e incluya lo 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, 2006 Última actualización: 22/08/2006
ac12312_