activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pep <pep_cod...@yahoo.es>
Subject Re: AMQ 4.0 with Oracle Persistence and XA Transactions
Date Wed, 05 Jul 2006 09:25:53 GMT

Hi James,

I just tried with this tonight's snapshot with no success. I am getting the
same error with the same stacktrace. I checked the sourcecode and realized
that the TransactionContext code for the method getConnection() is
different. It looks like this:

                boolean autoCommit = !inTx;
                if(connection.getAutoCommit() != autoCommit)
                {
                    connection.setAutoCommit(autoCommit);
                }


I guess this is the fix. 

I am not familiar with the ActiveMQ, but I looked back to the calling
classes and realized that in the JDBCMessageStore.recover, the transaction
context is retrieved from the
JDBCPersistenceAdapter.getTransactionContext(). This method just returns a
new instance of TransactionContext everytime. This instance is then passed
to the DefaultJDBCAdapter.doRecover method which calls the getConnection
method of the TransactionContext, where the exception is thrown. So, my
guess is that the TransactionContext.begin method is never called in this
case and so the "inTx" attribute in the TransactionContext is always false.
Well, only in case it may help...

Hope this helps.

Pep.

-- 
View this message in context: http://www.nabble.com/AMQ-4.0-with-Oracle-Persistence-and-XA-Transactions-tf1888956.html#a5178477
Sent from the ActiveMQ - User forum at Nabble.com.


Mime
View raw message