Um aplicativo de monitoramento utiliza atributos de correlação para identificar os eventos que pertencem à mesma transação de negócios.
Uma transação de negócios pode ser qualquer uma dos seguintes cenários:
Três atributos de correlação estão disponíveis para você usar em seus eventos: correlacionador local, correlacionador pai e correlacionador global. Os usos exatos dos atributos de correlação variam dependendo dos requisitos. Por exemplo, um aplicativo pai pode transmitir seu identificador de transação para o fluxo de mensagens filho (talvez em um cabeçalho) para que o fluxo de mensagens filho possa relatá-lo no evento como um correlacionador pai.
wmb:eventPointData/wmb:eventCorrelation/@wmb:localTransactionId
wmb:eventPointData/wmb:eventCorrelation/@wmb:parentTransactionId
wmb:eventPointData/wmb:eventCorrelation/@wmb:globalTransactionId
É possível especificar informações de correlação quando você configura o evento.
Se você não especificar nenhuma informação de correlação quando configurar seus eventos, nenhum atributo de correlação será usado.
Se você especificar as informações de correlação, deverá configurar os atributos de correlação a serem usados e a partir de onde eles lerão seus valores. Tipicamente, você precisa especificar as informações da correlação apenas para a primeira origem de eventos no fluxo de mensagens; por padrão, todas as origens de eventos posteriores recuperam o mesmo valor da árvore do ambiente.
Se você desejar reutilizar o correlacionador local a partir da árvore Ambiente, especifique Automático. Se não houver ainda nenhum correlacionador, um novo valor único será gerado e salvo na árvore Ambiente.
Se você desejar usar um valor contido em um local na mensagem, especifique o local do correlacionador fornecendo um XPath para a árvore de mensagens. Assegure que o local especificado contenha um valor de correlacionador exclusivo para esta chamada do fluxo de mensagens. O valor extraído é salvo na árvore Ambiente como o correlacionador local.
Se você desejar reutilizar o correlacionador pai da árvore Ambiente, especifique Automático. Se ainda não existir nenhum correlacionador pai, não será utilizado nenhum correlacionador pai.
Se você desejar usar um valor contido em um local na mensagem, especifique o local do correlacionador fornecendo um XPath para a árvore de mensagens. Assegure que o local especificado contenha um valor adequado para o correlacionador pai. O valor extraído é salvo na árvore Ambiente como o correlacionador pai.
Se você desejar reutilizar o correlacionador global a partir da árvore Ambiente, especifique Automático. Se ainda não existir nenhum correlacionador global, não será utilizado nenhum correlacionador global.
Se você desejar usar um valor contido em um local na mensagem, especifique o local do correlacionador fornecendo um XPath para a árvore de mensagens. Assegure que o local especificado contenha um valor adequado para o correlacionador global. O valor extraído é salvo na árvore Ambiente como o correlacionador global.
Os locais da árvore Ambiente utilizados para salvar correlacionadores dos eventos posteriores são:
Environment.Monitoring.EventCorrelation.localTransactionId
Environment.Monitoring.EventCorrelation.parentTransactionId
Environment.Monitoring.EventCorrelation.globalTransactionId
$Root/MQMD/MsgId
$Root/MQMD/CorrelId
$Root/JMSTransport/Transport_Folders/Header_Values/JMSMessageID
$Root/JMSTransport/Transport_Folders/Header_Values/JMSCorrelationID
$LocalEnvironment/Destination/HTTP/RequestIdentifier
$LocalEnvironment/Wildcard/WildcardMatch
É necessário correlacionar o pedido e respostas pertencentes à mesma ordem de compra. Isto pode ser feito configurando o parentTransactionID como um campo em purchaseOrder, como um purchaseOrderID, que está disponível no pedido e na resposta.