Hi,
I have some problem to have a correct redelivery policy in my environment.
I work with transacted routes and i'd like to have 3 redelivery attempts if
any exception is raised.
I have the following routes :
<route id="routeA">
<from uri="activemq:queue:traiterReponse" />
<onException useOriginalMessage="true">
<exception>java.lang.Exception</exception>
<redeliveryPolicy maximumRedeliveries="3" redeliveryDelay="5000" />
<handled>
<constant>true</constant>
</handled>
<to uri="activemq:queue:pendingMessage" />
</onException>
<*transacted />*
<bean ref="processor1" />
<to uri="direct:traiterReponse" />
</route>
<route id="routeB">
<from uri="direct:traiterReponse" />
<bean ref="processor2" />
<to uri="log:output" />
</route>
If an exception is raised by the processor1, it works as expected, there are
3 attempts to redeliver the message and if it fails, the message is then
redirected to the 'pendingMessage' queue.
But the problem is if an exception is raised in processor2, then the message
is directly redirected in the 'ActiveMQ.DLQ' queue, there is no redelivery
attempt at all.
I expected the exception to be "catched" by the 'onException' clause of
routeA (if i'm right the 2 routes share the same transaction).
What is the problem ?
--
View this message in context:
http://camel.465427.n5.nabble.com/Redelivery-with-multiple-transacted-routes-tp5158209p5158209.html
Sent from the Camel - Users mailing list archive at Nabble.com.