2 Replies Latest reply on Jan 19, 2006 9:58 PM by James Parsons

    Oracle XA Error

    Florian Hawlitzek Newbie

      Hi,

      we are using JBoss 4.0.0 together with Oracle 9i with OCI drivers.
      As long as we use the tx level NotSupported everything works fine.
      But if we enable the use of XA transaction we get strange error.

      Any ideas?

      The output of JBoss is:
      org.jboss.util.NestedSQLException: Could not enlist in transaction on entering meta-aware object!javax.transaction.SystemException: enlistResource failed; - nested throwable: (javax.resource.ResourceException: Could not enlist in transaction on entering meta-aware object!javax.transaction.SystemException: enlistResource failed)

      The Oracle/XA error is:
      xa error: -3 (A resource manager error has occured in the transaction branch.); oracle error: 6550; oracle sql error: 0;

      The base database connection is working.
      Here some settings from oracle-xa-ds.xml:
      <track-connection-by-tx>true</track-connection-by-tx>
      <track-statements>true</track-statements>
      <isSameRM-override-value>false</isSameRM-override-value>

      The Pad attribute of the XidFactory-MBean is also set to "true".

      Here are a few lines from the stacktrace:
      2004-09-28 16:17:25,496 WARN [org.jboss.tm.TransactionImpl] XAException: tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=hawlitzek/6, BranchQual=, localId=6] errorCode=XAER_RMERR
      oracle.jdbc.xa.OracleXAException
      at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:1190)
      at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:311)
      at org.jboss.resource.adapter.jdbc.xa.XAManagedConnection.start(XAManagedConnection.java:131)
      at org.jboss.tm.TransactionImpl$Resource.startResource(TransactionImpl.java:1951)
      at org.jboss.tm.TransactionImpl.enlistResource(TransactionImpl.java:548)
      at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.enlist(TxConnectionManager.java:435)
      [...]
      2004-09-28 16:17:25,506 WARN [org.jboss.tm.TransactionImpl] xa error: -3 (A resource manager error has occured in the transaction branch.); oracle error: 6550; oracle sql error: 0;
      oracle.jdbc.xa.OracleXAException
      at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:1190)
      at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:311)
      at org.jboss.resource.adapter.jdbc.xa.XAManagedConnection.start(XAManagedConnection.java:131)
      at org.jboss.tm.TransactionImpl$Resource.startResource(TransactionImpl.java:1951)
      at org.jboss.tm.TransactionImpl.enlistResource(TransactionImpl.java:548)
      at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.enlist(TxConnectionManager.java:435)
      [...]
      2004-09-28 16:17:25,506 INFO [org.jboss.resource.connectionmanager.TxConnectionManager] Could not enlist in transaction on entering meta-aware object!
      javax.transaction.SystemException: enlistResource failed
      at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.enlist(TxConnectionManager.java:447)



        • 1. Re: Oracle XA Error
          Stephen Coy Novice

          We have just encountered this.

          Strangely, it goes away if you use earlier versions of classes12.jar (such as the one that comes with Oracle 9 - not Oracle 9.2), or any of the Oracle 10g classes12.jar or ojdbc14.jar.

          • 2. Re: Oracle XA Error
            James Parsons Newbie

            I'm experiencing exactly the same error, however I'm unable to resolve it by switching to the 10g ojdbc14.jar driver (tried with both 10.1.0.4 and 10.2.0.1.0). I'm using an Oracle 9.2.0.4 database, with 9.2 and 10.2 client.

            If anyone has come across an alternative solution or a workaround for this issue I'd be very interested.