5 Replies Latest reply on Dec 9, 2003 9:50 AM by mojo78

    Oracle 9.2 / JBOSS 3.2.1 / XAException / WinXP

      Hi,

      i want to use oracle-xa as jms-jdbc-PersistenceManager and for my app (entity beans, ...).

      on jboss startup using oracle-xa-ds, i have the following issues:

      1.) my ora-xa-ds is bound under 'java:/ORACLE'

      2.) starting the PersistenceManager fails with:

      2003-05-15 09:12:21,625 WARN [org.jboss.tm.TransactionImpl] XAException: tx=TransactionImpl:XidImpl [FormatId=257, GlobalId=schuster02//1, BranchQual=] errorCode=XAER_RMERR
      oracle.jdbc.xa.OracleXAException
      at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:1159)
      at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:311)
      at org.jboss.resource.adapter.jdbc.xa.XAManagedConnection.start(XAManagedConnection.java:133)
      .
      .
      .
      2003-05-15 09:12:21,745 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:1159)
      at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:311)
      at org.jboss.resource.adapter.jdbc.xa.XAManagedConnection.start(XAManagedConnection.java:133)
      .
      .
      .
      2003-05-15 09:12:21,865 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:473)
      at org.jboss.resource.connectionmanager.TxConnectionManager.managedConnectionReconnected(TxConnectionManager.java:358)
      at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:490)
      at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:798)

      **********************

      When switching to hypersonic for jms persistence, i can deploy my app, and the entity beans (db tables on oracle) are created. So my oracle-xa-ds definition seems to be valid. But then i run into the same problem ('enlist Resource failed'), when my app is trying to create the first entity bean (record in db table).

      Any Ideas?

      Thanks, for your help...




      <xa-datasource>
      <jndi-name>ORACLE</jndi-name>
      <track-connection-by-tx>true</track-connection-by-tx>
      <isSameRM-override-value>false</isSameRM-override-value>
      <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
      <xa-datasource-property name="URL">jdbc:oracle:oci:@SEEPROD.SEEBURGER.DE</xa-datasource-property>
      <xa-datasource-property name="User">test</xa-datasource-property>
      <xa-datasource-property name="Password">test</xa-datasource-property>
      <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
      <!--pooling parameters-->
      <min-pool-size>5</min-pool-size>
      <max-pool-size>20</max-pool-size>
      <blocking-timeout-millis>20000</blocking-timeout-millis>
      <idle-timeout-minutes>15</idle-timeout-minutes>

      </xa-datasource>


      <depends optional-attribute-name="TransactionManagerService">jboss:service=TransactionManager






        • 1. Re: Oracle 9.2 / JBOSS 3.2.1 / XAException / WinXP
          davidjencks

          There's no particular reason to use xa for the jms persistence since the connection is put in autocommit mode anyway -- the current persistence scheme manages its own 2pc. It shouldn't hurt, though.

          Have you set pad=true in the XidFactory mbean?

          • 2. Re: Oracle 9.2 / JBOSS 3.2.1 / XAException / WinXP

            Thanks for your assistance.

            Yes, i set pad=true.

            In my app, i'm processing jms-messages(MDB:onMessage() and storing some information using entity beans (cmp, cmt). So the database changes and the jms-message handling should be in the same transaction.
            A few weeks ago, i checked some other threads about JBossMQ and using XA transactions. They mentioned, that the only possible solutions to get a correct transactional semantic is to use XA for the jms and for the database.
            Am i wrong?



            • 3. Re: Oracle 9.2 / JBOSS 3.2.1 / XAException / WinXP

              One more note.
              I've tried to use the default Hypersonic PersistanceManager for jms.
              So the oracle xa datasource was only used by my entity beans.
              It was possible to deploy and my tables are created on oracle.
              But i get the same XA Exception on the first EntityBean.create().

              • 4. Re: Oracle 9.2 / JBOSS 3.2.1 / XAException / WinXP
                davidjencks

                Do the Oracle docs give any more info about 6550?

                • 5. Re: Oracle 9.2 / JBOSS 3.2.1 / XAException / WinXP
                  mojo78

                  hi, i put the following into my transaction-service.xml, as per instructions i found on a non-jboss.org website:


                  true



                  when i restart the server it complains that XIDFactory is already registered but i can't find where. should the pad=true attribute be set somewhere else?

                  any help appreciated,
                  maurice