Dear All,

    I'm suddenly feel a bit loss on the usage and behaviour of camel and
will like to seek clarification.

<camel:camelContext>
              
    <route id="processRequest">
              <from uri="activemq:topic:request"/>
              <bean ref="eventProcessor" method="processEvent"/>
    </route>           

    <route id="sendResponse">
               <from uri="direct:myProxy"/>
               <setProperty propertyName="result">
                    <method ref="convertor"/>
               </setProperty> 
               <bean ref="strategyManager"
method="isStrategyCompleted(${property.result})"/>
               <choice>
                     <when>
                               <simple>${body}</simple>
                               <bean ref="camelJMS"
method="sendComplete(${property.result})"/>
                     </when>
               </choice>
    </route>
</camel:camelContext>


Given the scenario:


T=0;   Request 1 published to activemq:topic:request
T=1;   Request 2 published to activemq:topic:request
T=3;   Request 3 published to activemq:topic:request
T=60; (External system place the result file for Request 2 into a folder),
picked up by 
<from uri="direct:myProxy"/>  in route sendResponse

My question.
1.  Does camel start a new instance for all new message at
activemq:topic:request
2.  If it does, will all 3 instances perform route sendResponse, even though
its not for them? 

3.  Camel is single instance, but will help to keep track of the exchanges
for you? (Very vague, and I not sure whether I imagining the correct
scenario.

4.  Any other behaviour? I doubt it will hang at route 2, while waiting for
it to be trigger even if there are news messages on the 
activemq:topic:request
  
Thanks and Best Regards,
Zuff



--
View this message in context: 
http://camel.465427.n5.nabble.com/Camel-Confusion-tp5720952.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to