This content has been marked as final. Show 3 replies
From what I've seen implementing a request/reply message exchange pattern using JMS as transport channel in the ESB is not trivial. The JMSgatewayListener is one-way only, so you have to make sure that you have a JMSRouter in your action processing pipeline that will process the reply message. Plus you have to make sure that the JMSMessageId and the JMSReplyTo fields from the incoming message are not lost.
Couldn't we have a request/reply JMSGatewayListener that:
- is bound to a queue
- wraps incoming payload in a ESB message, and takes care of the JMSMessageID and replyTo fields
- sets a replyToEPR in the message header
- listens on the queue associated with the replyToEPR
- takes the reply, unwraps it, sets the JMSCorrelationId and finally puts it on the replyTo queue.