Provide a configurable strategy for temporary replyTo destination scoping
-------------------------------------------------------------------------

                 Key: CAMEL-474
                 URL: https://issues.apache.org/activemq/browse/CAMEL-474
             Project: Apache Camel
          Issue Type: Bug
          Components: camel-jms
    Affects Versions: 1.3.0
            Reporter: Marat Bedretdinov
             Fix For: 1.4.0


Currently in request/reply scenarios a temporary replyTo destination is created 
and is shared among all Producers that were created from a given named JMS 
Component instance. If those Producers are then uses to correlate message flows 
among endpoints that are part of the same call flow using component generated 
or user provided correlation ID (not message ID), then there is a guaranteed 
reply loss:

client -> jsm1.producer1 -> corrId -> jsm1.consumer1 -> jsm1.producer2 -> 
corrId -> jsmX.consumer
               jsm1.producer1 (@) <- corrId <- jsm1. consumer1 <- 
jsm1.producer2 <- corrId <- reply

@ - point of reply message being dropped due to the fact that jsm1.producer2 
has already consumed a reply message with the same corrId and has disposed of 
outstanding request entry mapped to the same corrID

Note that while this configuration breaks under outlined conditions it's an 
optimum way of correlating call flow when messageID is used as correlationID.

Hence a way to fix this would be to keep the current strategy while allowing to 
configure the component to create a temporary replyTo destination per Producer 
instance, insulating producers from competing for reply messages correlated on 
the same id

I'll probably take care of this one shortly.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to