The correlation identifier pattern, shown in Figure 20, 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.
Apache Camel 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 Apache Camel message header.
Some EIP patterns spin off a sub message and, in those
cases, Apache Camel 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.









