O nó MQOutput pode enviar múltiplas m ensagens que formand um grupo de mensagens WebSphere MQ. Configure um nó Compute para configurr os campos MQMD para especificar opções de grupos de mensagens.
DECLARE MSGNUM INT 0; DECLARE MSGTOTAL INT 5; WHILE MSGNUM < MSGTOTAL DO SET MSGNUM = MSGNUM + 1; CALL CopyMessageHeaders(); -- Configure manualmente o groupId porque não podemos solicitar que o gerenciador de filas gere um. -- a função UUIDASBLOB não pôde ser utilizada aqui para gerar um, mas isto deve ser feito -- fora do loop para manter o mesmo groupId completo! 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;
Se o fluxo de mensagens estiver enviando várias mensagens de uma mensagem de entrada, ele poderá criar um valor GroupId, incrementar o valor MsgSeqNumber e configurar o campo MsgFlags. A ESQL de exemplo mostra como isso pode ser feito. No entanto, se o fluxo de mensagens estiver enviando várias mensagens de mais de uma mensagem de entrada, ele precisará armazenar os valores GroupId e MsgSeqNumber entre instâncias do fluxo; isto pode ser feito utilizando variáveis compartilhadas.
Para informações adicionais sobre agrupamento de mensagens, consulte a seção Guia de Programação do Aplicativo do WebSphere MQ Versão 6: centro de informações on-line, ou ou o manual Versão 5.3 no WebSphere MQ. Para obter informações adicionais sobre os campos WebSphere MQ significantes no agrupamento e segmentação de mensagens, consulte a seção Referência de programação do aplicativo do WebSphere MQ Versão 6: centro de informações on-line, ou o manual Versão 5.3 no WebSphere MQ.