-
Bug
-
Resolution: Done
-
Major
-
6.0.0.Final
-
None
Code is using Oracle XA DB connections with and without transactions.
Seeing exceptions like the following:
2011-07-26 20:04:04,622 WARN [com.arjuna.ats.jta] (Thread-24 (group:HornetQ-client-global-threads-1898046)) ARJUNA-16061 TransactionImple.enlistResource - XAResource.start returned: XAException.XAER_PROTO for < formatId=131076, gtrid_length=29, bqual_length=28, tx_uid=0:ffff0a158387:126a:4e2f5438:6b5, node_name=1, branch_uid=0:ffff0a158387:126a:4e2f5438:6ba, eis_name=unknown eis name >: oracle.jdbc.xa.OracleXAException
at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:1120)
at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:249)
at org.jboss.resource.adapter.jdbc.xa.XAManagedConnection.start(XAManagedConnection.java:213)
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.enlistResource(TransactionImple.java:629)
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.enlistResource(TransactionImple.java:390)
at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener$TransactionSynchronization.enlist(TxConnectionManager.java:975)
at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.enlist(TxConnectionManager.java:729)
at org.jboss.resource.connectionmanager.TxConnectionManager.managedConnectionReconnected(TxConnectionManager.java:459)
at org.jboss.resource.connectionmanager.BaseConnectionManager2.reconnectManagedConnection(BaseConnectionManager2.java:625)
at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:499)
at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:941)
at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:89)
I looked up org.jboss.resource.connectionmanager.JBossManagedConnectionPool in the JMX Console and found NoTxSeparatePools = false. So I tried other combinations like <no-tx-separate-pools>true</no-tx-separate-pools> and I cannot get NoTxSeparatePools = true.
I was able to change NoTxSeparatePools = true and apply the change in the JMX Console and then stop and start the MBean. I then could run the code without any of the errors.
I was able to see in the debugger that no-tx-separate-pools = true never makes it to the JBossManagedConnectionPool MBean from the oracle-xa-ds.xml datasource configuration.
I could see the correct value in org.jboss.resource.metadata.mcf.ManagedConnectionFactoryDeploymentMetaData, but the setting never appears to make it to org.jboss.resource.connectionmanager.JBossManagedConnectionPool for the datasource.