Se estiver utilizando o como o protocolo de transporte para os fluxos de agregação, você poderá correlacionar a mensagem do pedido inicial com a mensagem de resposta combinada, preservando MsgId da entrada MQMD e utilizando-o como CorrelId da resposta de saída.
Antes de começar:
Para concluir esta tarefa, você deve ter concluído as tarefas a seguir:
Quando o pedido inicial é processado pelo fluxo de difusão, o MsgId retido no MQMD é perdido. Se você deseja correlacionar a mensagem de saída agregada na mensagem de entrada original, uma forma de se fazer isso é preservar MsgId e especificá-lo como CorrelId na mensagem de saída agregada.
A tarefa descrita aqui assume que você já tenha criado um fluxo de difusão e um fluxo de recepção como dois fluxos separados que são executados no mesmo intermediário. Também assume o conteúdo mínimo para esses fluxos; seus fluxos podem incluir o conteúdo que for apropriado e você pode adaptá-los da maneira mostrada aqui para incluir essa função adicional.
CREATE COMPUTE MODULE SaveMsgId CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN CALL CopyMessageHeaders(); // Extrair e preservar o MsgId da mensagem de pedido original SET OutputRoot.XML.MyMsgId = InputRoot.MQMD.MsgId; END; CREATE PROCEDURE CopyMessageHeaders() BEGIN DECLARE I INTEGER 1; DECLARE J INTEGER CARDINALITY(InputRoot.*[]); WHILE I < J DO SET OutputRoot.*[I] = InputRoot.*[I]; SET I = I + 1; END WHILE; END; END MODULE;
SET OutputRoot.MQMD.Version = MQMD_CURRENT_VERSION; // Armazene o valor MQMD MsgId salvo da pasta especificada no campo MQMD CorrelId SET OutputRoot.MQMD.CorrelId = CAST(InputRoot.ComIbmAggregateReplyBody.SavedMSGID.XML.MyMsgId AS BLOB);O fluxo de difusão de exemplo é mostrado abaixo; o nó Compute SetCorrelID processa as respostas para criar uma mensagem de resposta combinada e agora define o identificador de correlação MQMD para associar sua resposta ao pedido inicial:
Conceitos relacionados
Fluxos de Mensagem
Agregação de Fluxo de Mensagens
Tarefas relacionadas
Configurando Fluxos de Agregação
Projetando um Fluxo de Mensagens
Criação de um Fluxo de Mensagens
Definindo o Conteúdo do Fluxo de Mensagens
Referências relacionadas
Nó AggregateControl
Nó AggregateReply
Nó AggregateRequest
Avisos |
Marcas |
Downloads |
Biblioteca |
Suporte |
Feedback
![]() ![]() |
ac20410_ |