axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From <>
Subject [AXIS2] - Transaction rollback to backout requeue with IBM MQ is not working
Date Fri, 17 Sep 2010 00:37:11 GMT

We have been struggling in setting up the jms transport with transaction rollback. This is
what we are doing:

We have enabled JMS transportreceiver and JMS transportsender on axis2 (v1.4) to connect to
IBM Websphere MQ v7.0.1.2. My application is deployed on Tomcat v6.0.28 and services.xml in
my service aar file has following parameters set:

<parameter name="transport.jms.ConnectionFactory" locked="false"> LGRIDConnectionFactory</parameter>
<parameter name="transport.jms.Destination" locked="false">TEST</parameter>
<parameter name="transport.jms.SessionAcknowledgement" locked="false">SESSION_TRANSACTED</parameter>
<parameter name="transport.jms.SessionTransacted" locked="false">true</parameter>
<parameter name="transport.jms.CacheLevel" locked="false">consumer</parameter>
<parameter name="transport.Transactionality" locked="false">local</parameter>

Service has an operation which gets triggered when a message arrives to TEST queue. We have
set SessionTransacted to true so that in case of any exception message gets rolled back to
queue and obviously consumed by the application to reprocess. We have also setup Backout Threshold
(BOTHRESH) as 2 and Backout requeue queue (BOQNAME) as TEST_DLQ on this TEST Queue. We want
application to re-try two times if it still fails move the message to Backout requeue queue.

Now this complete configuration works as we expected but the messages which are moved to Backout
requeue queue are not committed and we are not able to browse those messages. When we stop
the tomcat messages are moved back to TEST queue and we can browse there. If we start the
Tomcat again without removing those message, application does not pick them and they are directly
moved to Backout requeue queue and still has uncommitted state. Are we missing something?
Do we need to set some other parameter?

Many thanks!!!

Thanks and Regards,
Rajeev Verma

View raw message