Hi Claus, I upgraded to Camel 2.4 but I see still see blocking behavior. Here are the contents of my camel-context.xml.
<bean id="deadLetterErrorHandler" class="org.apache.camel.builder.DeadLetterChannelBuilder"> <!-- exchanges is routed to activemq:queue:ActiveMQ.DLQ in cased redelivery failed --> <property name="deadLetterUri" value="activemq:queue:ActiveMQ.DLQ" /> <!-- reference the redelivery policy to use --> <property name="redeliveryPolicy" ref="redeliveryPolicyConfig" /> </bean> <!-- here we set the redelivery settings --> <bean id="redeliveryPolicyConfig" class="org.apache.camel.processor.RedeliveryPolicy"> <!-- try redelivery at most 6 times, after that the exchange is dead and its routed to the activemq:queue:ActiveMQ.DLQ endpoint --> <property name="maximumRedeliveries" value="6" /> <!-- delay 300s before redelivery --> <property name="redeliveryDelay" value="300000" /> <property name="asyncDelayedRedelivery" value="true" /> </bean> <camelContext id="serviceContext" trace="false" xmlns="http://camel.apache.org/schema/spring"> <route id="calcQueue"> <from uri="activemq:queue:Order" /> <recipientList id="recipientList1"> <method method="calculate" bean="queueCalculator" /> </recipientList> </route> <route id="ProcessOrder" errorHandlerRef="deadLetterErrorHandler"> <from uri="activemq:queue:Order.*" /> <bean ref="OrderProcessor" method="process" /> </route> </camelContext> With above configuration if activemq:queue:Order.User1 is in retry mode, Camel doesn't process any messages from activemq:queue.Order.User2 queue. Camel waits to complete all retries in activemq:queue:Order.User1 before processing any message in activemq:queue.Order.User2 queue. Am I missing any configuration here? Thanks, Rahul -- View this message in context: http://camel.465427.n5.nabble.com/Dead-Letter-Error-Handler-and-non-blocking-mode-tp3361913p3371061.html Sent from the Camel - Users mailing list archive at Nabble.com.