El nodo MQOutput puede enviar varios mensajes que forman un grupo de mensajes WebSphere MQ. Configure un nodo Compute para establecer los campos MQMD para especificar opciones de grupo de mensajes.
DECLARE MSGNUM INT 0; DECLARE MSGTOTAL INT 5; WHILE MSGNUM < MSGTOTAL DO SET MSGNUM = MSGNUM + 1; CALL CopyMessageHeaders(); -- Establezca manualmente el GroupId ya que no se puede pedir al gestor de colas que lo genere. -- la función UUIDASBLOB se puede utilizar para generar uno pero se debe realizar -- fuera del bucle para que el GroupId sea siempre el mismo SET OutputRoot.MQMD.GroupId = X'000000000000000000000000000000000000000000000001'; SET OutputRoot.MQMD.MsgSeqNumber = MSGNUM; SET OutputRoot.MQMD.MsgFlags = MQMF_MSG_IN_GROUP; IF (MSGNUM = MSGTOTAL) THEN SET OutputRoot.MQMD.MsgFlags = MQMF_LAST_MSG_IN_GROUP; END IF; SET OutputRoot.XML.TestCase = MSGNUM; PROPAGATE; END WHILE; RETURN FALSE;
Si el flujo de mensajes envía varios mensajes desde un mensaje de entrada, puede crear un valor de GroupId, incrementar el valor MsgSeqNumber y establecer el campo MsgFlags. El ESQL de ejemplo muestra cómo llevarlo a cabo. No obstante, si el flujo de mensajes está enviando varios mensajes desde más de un mensaje de entrada, necesita almacenar los valores de GroupId y MsgSeqNumber entre las instancias de flujo. Esto se puede llevar a cabo utilizando variables compartidas.
Para obtener más información sobre la agrupación de mensajes, consulte la sección Application Programming Guide del Centro de información en línea de WebSphere MQ Versión 6 o el manual de la versión 5.3 en página web de la biblioteca de WebSphere MQ. Para obtener más información sobre los campos de WebSphere MQ significativos para la agrupación de mensajes, consulte el manual Application Programming Reference del Centro de información en línea de WebSphere MQ Versión 6 o el manual de la Versión 5.3 de página web de la biblioteca de WebSphere MQ.