A monitoring application uses correlation attributes to identify events that belong to the same business transaction.
A business transaction can be any of the following scenarios:
Three correlation attributes are available for you to use in your events: local correlator, parent correlator and global correlator. The exact usage of the correlation attributes varies depending on the requirements. For example, a parent application can pass its transaction identifier to the child message flow (perhaps in a header) so that the child message flow can report it in the event as a parent correlator.
wmb:eventPointData/wmb:eventCorrelation/@wmb:localTransactionId
wmb:eventPointData/wmb:eventCorrelation/@wmb:parentTransactionId
wmb:eventPointData/wmb:eventCorrelation/@wmb:globalTransactionId
You can specify correlation information when you configure the event.
If you do not specify any correlation information when you configure your events, no correlation attributes will be used.
If you do specify correlation information, you must configure the correlation attributes to be used, and where they will read their value from. Typically you need to specify correlation information only for the first event source in the message flow; by default all later event sources retrieve the same value from the Environment tree.
If you want to reuse the local correlator from the Environment tree, specify Automatic. If no local correlator exists yet, a new unique value will be generated and saved in the Environment tree.
If you want to use a value contained in a location in the message, specify the location of the correlator by supplying an XPath into the message tree. Ensure that the specified location contains a correlator value unique to this invocation of the message flow. The extracted value is saved in the Environment tree as the local correlator.
If you want to reuse the parent correlator from the Environment tree, specify Automatic. If no parent correlator exists yet, no parent correlator will be used.
If you want to use a value contained in a location in the message, specify the location of the correlator by supplying an XPath into the message tree. Ensure that the specified location contains a suitable value for the parent correlator. The extracted value is saved in the Environment tree as the parent correlator.
If you want to reuse the global correlator from the Environment tree, specify Automatic. If no global correlator exists yet, no global correlator will be used.
If you want to use a value contained in a location in the message, specify the location of the correlator by supplying an XPath into the message tree. Ensure that the specified location contains a suitable value for the global correlator. The extracted value is saved in the Environment tree as the global correlator.
The locations in the Environment tree used to save correlator values for use by later events are:
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
You need to correlate the request and replies belonging to the same purchase order. You can do this by setting the parentTransactionID to a field in the purchaseOrder, such as a purchaseOrderID, which is available in both the request and reply.