If you are using Oracle Service Bus I have implemented this patters using the below links :-
31.9.3 JMS Correlation ID Pattern
When you design a business service in Java, make sure that you set the value of JMS Correlation ID on the response to the value of JMS Correlation ID on the request before sending the JMS response to a queue.
You can obtain the JMS Correlation ID when you receive a message using:
The above method returns correlation ID values as Strings that provide specific message IDs or application-specific values.
To set the JMS Correlation ID when you send a message:
void setJMSCorrelationID(String correlationID)
31.9.4 Comparison of Message ID and Correlation ID Patterns
The JMS request-response patterns differ in the following ways:
- The method by which the response is correlated with the request
- The choice of the response queue
The differences between these two patterns are summarized in Table 31-1.
Table 31-1 Differences Between Message ID and Correlation ID Patterns
JMS Pattern Name Response Queue CorrelationID
Correlation ID Pattern
All responses go to the same fixed queue(s).
The server copies the request Correlation ID to the response Correlation ID.
Message ID Pattern
The responses dynamically go to the queue indicated by the
The server copies the request Message ID to the response Correlation ID.
In Biemond blog, he is mapping MessageID to CorrelationID from Assign inside Mediator but here Correlation Set and alias are not created and form Correlation Tab inside Invoke/receve is not used.
i think correlation is not done at BPEL Level, i am looking implementation using Correlation Sets (used in invoke activity at correlation tab and same with receive activity).
please can anybody just provide me steps in few lines because i search a lot on internet but i am not getting any example using correlation set for JMS.
one more doubt biemond, in his blog, he has used correlation with Synchronous request and reply operation also, but i have heard that in synchronous calls correlation is not required (because there is no delay in reply and so same thread is used to perform Sync transaction) then why correction option is available on Synchronous calls also.