I am using the org.jboss.resource.adapter.jdbc.xa.XAManagedConnection (and related Factory) to load my Informix XA JDBC connections.  Unfortunately I am consistently getting XAExceptions, of the XAER_OUTSIDE variety.  I have tracked the problem down to what I think is an Informix Driver bug, but I was wondering if we should patch the JBoss transaction manager to correct for .
 
Here's the issue:  If a connection is used in local-transaction mode, the autocommit is set to false, and the user fails to call commit or rollback prior to closing the connection, then the connection is put back into the pool with the local transaction still open.  Now, if that connection is used later within a global transaction, I get the XAException.
 
I say that this is an Informix bug because I think most JDBC vendors automatically commit on closing within local transactions.  The question is, should we put in a call to commit for all closes outside of a global transaction?  The code is simple, but can you think of any negative repercussions if we do this?
 
Thanks
 
-Larry

Reply via email to