The correlation identifier pattern, shown in Figure 6.1, describes how to match reply messages with request messages, given that an asynchronous messaging system is used to implement a request-reply protocol. The essence of this idea is that request messages should be generated with a unique token, the request ID, that identifies the request message and reply messages should include a token, the correlation ID, that contains the matching request ID.
Fuse Mediation Router supports the Correlation Identifier from the EIP patterns by getting or setting a header on a Message.
When working with the ActiveMQ in EIP Component Reference or JMS in EIP Component Reference
components, the correlation identifier header is called JMSCorrelationID
.
You can add your own correlation identifier to any message exchange to help correlate messages
together in a single conversation (or business process). A correlation identifier is usually
stored in a Fuse Mediation Router message header.
Some EIP patterns spin off a sub message and, in those cases,
Fuse Mediation Router adds a correlation ID to the Exchange as a property
with they key, Exchange.CORRELATION_ID
, which links back to the source
Exchange. For example, the Splitter, Multicast, Recipient List, and
Wire Tap EIPs do this.