I have following route with dead letter error handler attached to it. <route errorHandlerRef="deadLetterErrorHandler"> <from uri="activemq:queue:order.*" /> <bean ref="OrderProcessor" method="process" /> </route>
My Dead Letter Error Handler definition is as follows. Please note that I have 5 minutes delay between retries. <!-- here we configure our DeadLetterChannel --> <bean id="deadLetterErrorHandler" class="org.apache.camel.builder.DeadLetterChannelBuilder"> <!-- exchanges is routed to activemq:queue:ActiveMQ.DLQ in case redelivery failed --> <property name="deadLetterUri" value="activemq:queue:ActiveMQ.DLQ" /> <!-- reference the redelivery policy to use --> <property name="redeliveryPolicy" ref="redeliveryPolicyConfig" /> <!-- Camel will use original message when it moves message to the dead letter channel --> <property name="useOriginalMessage" value="true" /> </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 300000ms before redelivery --> <property name="redeliverDelay" value="300000" /> </bean> I have issue that when activemq.queue.order.user1 is in retry mode, Camel doesn't process anything from activemq.queue.order.user2 queue. It waits for retries to exhaust. Is there a configuration setting to change Camel's blocking behavior so that when one queue is in retry mode it is still processing messages from other queue? Thanks, Rahul -- View this message in context: http://camel.465427.n5.nabble.com/Dead-Letter-Error-Handler-and-non-blocking-mode-tp3361913p3361913.html Sent from the Camel - Users mailing list archive at Nabble.com.