Warning: A non-numeric value encountered in /home/ricston2/public_html/blogarchive/wp-content/themes/Divi/functions.php on line 5766

When using JMS endpoints, it often is comfortable to set the attribute on an endpoint so that replies to a synchronous message flow get directed to an alternative endpoint. This is most common in situations where you’re splitting a request up into multiple flows and want all replies to be directed to an asynch-reply-router (See the Loan Broker example for a good instance of this). When you add transactions to the message flow, this behaviour changes and I wanted to talk about this.

Consider the following configuration:


       
               
                       
               
       
       
               
                       
                               
                       
                       
               
       

Setting the on the outbound endpoint implies that we want replies to be sent to the queue called reply.queue. Without transactions, this will work perfectly well.
When you consider the transactions (as configured above), having the reply sent to reply.queue means that the transaction is broken. When using transactions, the replies must return on the same endpoint – using what is known as the back channel.