You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by dnn <Da...@ngc.com> on 2010/04/19 19:37:58 UTC
Suspended Transaction not making it to a DLQ?
I am currently working on the error handling for my application. I have set
up a DLQ so that when my app throws an exception, the XA transaction will
rollback everything and let ActiveMQ redeliver the message to try again.
After 6 failures, ActiveMQ will move the message to a DLQ. I have noticed
that it works as expected when all the work is done inside a single XA
transaction. However, if I start & commit a new XA transaction (method
annotated with the Spring TRANSACTION_REQUIRES_NEW), then throw the
exception, the message is rolled back successfully, but never gets moved to
the DLQ and ends up in an infinite loop!
I am using ActiveMQ 5.3.1, Camel 2.2.0, Spring 2.5.6, and Bitronix 1.3.3.
My Camel route is roughly:
<from uri="jms:queue:start1"/>
<transacted/>
<to uri="aProcessorAnnotatedWIth_TRANSACTION_REQUIRES_NEW"/>
<to uri="aProcessorThatThrowsAnException"/>
<to uri="jms:queue:end1"/>
With the "aProcessorAnnotatedWIth_TRANSACTION_REQUIRES_NEW" processor, the
message never hits the DLQ and my app spins indefinitely. If I comment it
out, the message makes it to the DLQ as expected.
Has anyone ever seen an error like this?
Thanks,
Dan Nawrocki
--
View this message in context: http://old.nabble.com/Suspended-Transaction-not-making-it-to-a-DLQ--tp28287721p28287721.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.