Hi Claus,

Thanks for the link. I think I am using similar approach. My first route
"calcQueue"  takes incoming message and puts it on a user specific queue
(e.g. activemq:queue:Order.User1, activemq:queue:Order.User2) 

>  <route id="calcQueue">
>  <from uri="activemq:queue:WO" />
>  <recipientList id="recipientList1">
>  <method method="calculate" bean="queueCalculator" />
>  </recipientList>
>  </route> 

"OrderProcessor" bean in second route "ProcessOrder" processes incoming
messages on user specific queues (e.g. activemq:queue:Order.User1,
activemq:queue:Order.User2) 

>  <route id="ProcessOrder" errorHandlerRef="deadLetterErrorHandler">
>  <from uri="activemq:queue:Order.*" />
>  <bean ref="OrderProcessor" method="process" />
>  </route> 

The issue is that when activemq:queue:Order.User1 is in retry mode, Camel
doesn't process any messages from other user specific queues. I have
redelivery delay of 5 minutes and it will increase in future. At present,
Camel doesn't process any message for more than 30 minutes if one queue is
blocking. My requirements are:

1) Messages should process in sequential order for each queue. This means
that if activemq:queue:Order.User1 is in retry mode, none of the messages
from activemq:queue:Order.User1 should process until redelivery attempts are
exhausted.
2) When one queue is blocking in retry mode, Camel should continue to
process messages in other user specific queues (e.g.
activemq:queue:Order.User2, activemq:queue:Order.User3.)

Do you think if I define one route per user specific queue then I can
achieve above requirements?  At present, I have only route defined with wild
char character in it?

I appreciate you help.

Rahul
-- 
View this message in context: 
http://camel.465427.n5.nabble.com/Dead-Letter-Error-Handler-and-non-blocking-mode-tp3361913p3371721.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to