0 Replies Latest reply on Jul 28, 2011 9:36 AM by beaster

    JBoss 6 Oracle XA datasource and no-tx-separate-pools

    beaster

      We are trying to run JBoss 6 with an Oracle XA datasource.

       

      We started with jboss-6.0.0.Final\docs\examples\jca\oracle-xa-ds.xml for the datasource configuration.

       

      We have been running into exceptions like the following:

       

      {noformat}

      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)

      {noformat}

       

      The code does obtain connections both with and without transactions.

       

      It started to appear that there is/was an issue with the <no-tx-separate-pools/> option in oracle-xa-ds.xml.

       

      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.

       

       

      Does anyone know how I can configure  NoTxSeparatePools = true from my oracle-xa-ds.xml configuration or is this something that is a bug that a fix is needed for?

       

       

      Thanks, Jeff