6 Replies Latest reply on Jul 10, 2002 5:04 AM by aosip

    Oracle XA configuration

    DRAI William Newbie


      Does someone have an example of a XA configuration for
      an Oracle DataSource ?

      Thanks.

        • 1. Re: Oracle XA configuration
          David Jencks Master

          Yes, I have, but I always got Exception :

          2002-07-10 10:05:00,432 INFO [STDOUT] Wyst±pi³ wyj±tek : Wyst±pi³ wyj±tek : java.sql.SQLException: Unable to get Connection: javax.resource.ResourceException: Unable to get XAResource: java.sql.SQLException: ORA-01453: SET TRANSACTION must be first statement of transaction
          2002-07-10 10:05:00,707 ERROR [org.jboss.ejb.plugins.jaws.jdbc.JDBCCommand] Exception caught executing SQL
          java.sql.SQLException: Unable to get Connection: javax.resource.ResourceException: Unable to get XAResource: java.sql.SQLException: ORA-01453: SET TRANSACTION must be first statement of transaction

          at org.jboss.resource.adapter.jdbc.JDBCDataSource.getConnection(JDBCDataSource.java:114)
          at org.jboss.ejb.plugins.jaws.jdbc.JDBCCommand.getConnection(JDBCCommand.java:700)
          at org.jboss.ejb.plugins.jaws.jdbc.JDBCCommand.jdbcExecute(JDBCCommand.java:168)
          at org.jboss.ejb.plugins.jaws.jdbc.JDBCFinderCommand.execute(JDBCFinderCommand.java:116)
          at org.jboss.ejb.plugins.jaws.jdbc.JDBCFindEntitiesCommand.execute(JDBCFindEntitiesCommand.java:200)
          at org.jboss.ejb.plugins.jaws.jdbc.JDBCFindEntityCommand.execute(JDBCFindEntityCommand.java:91)
          at org.jboss.ejb.plugins.jaws.JAWSPersistenceManager.findEntity(JAWSPersistenceManager.java:263)
          at org.jboss.ejb.plugins.CMPPersistenceManager.findEntity(CMPPersistenceManager.java:336)
          at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.findEntity(CachedConnectionInterceptor.java:301)
          at org.jboss.ejb.EntityContainer.find(EntityContainer.java:687)
          at java.lang.reflect.Method.invoke(Native Method)

          • 2. Re: Oracle XA configuration
            David Jencks Master

            You should use 3.0.1 or 3.1 (from cvs). I ported the needed changes to 3.1 last night, but they have not yet been tested by anyone. The example config is only in the 3.0.1 cvs still. Look here also:

            http://www.jboss.org/modules/bb/index.html?module=bb&op=viewtopic&t=forums/

            • 3. Re: Oracle XA configuration
              aosip Newbie

              Hi,
              I've tested this but when in oracle-xa-service.xml is uncommented section :

              <mbean: code="org.jboss.XidFactory"
              name="jboss:service=XidFactory">

              • 4. Re: Oracle XA configuration
                aosip Newbie

                Hi,
                I've tested this but when in oracle-xa-service.xml is uncommented section :

                <mbean: code="org.jboss.XidFactory"
                name="jboss:service=XidFactory">
                ...

                jboss claims that:

                2002-07-09 17:25:27,213 ERROR [org.jboss.deployment.SARDeployer] create operation failed for package file:/home/aosip/jboss-3.0.1RC1/server/default/deploy/oracle-xa-service.xml
                org.jboss.deployment.DeploymentException: Trying to install an already registered mbean: jboss:service=XidFactory
                at org.jboss.system.ServiceCreator.install(ServiceCreator.java:69)
                at org.jboss.system.ServiceConfigurator.internalInstall(ServiceConfigurator.java:167)
                at org.jboss.system.ServiceConfigurator.install(ServiceConfigurator.java:130)
                at org.jboss.system.ServiceController.install(ServiceController.java:217)
                at java.lang.reflect.Method.invoke(Native Method)
                at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
                at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
                at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
                at $Proxy3.install(Unknown Source)
                .
                .
                .

                When block is commented, all almost work, but any operation on Bean throws :

                2002-07-09 17:29:45,586 WARN [org.jboss.tm.TxCapsule] XAException: tx=XidImpl [FormatId=257, GlobalId=twonk//1, BranchQual=] errorCode=XAER_NOTA
                oracle.jdbc.xa.OracleXAException
                at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java)
                at oracle.jdbc.xa.client.OracleXAResource.end(OracleXAResource.java)
                at org.jboss.tm.TxCapsule.endResource(TxCapsule.java:1237)
                at org.jboss.tm.TxCapsule.endResources(TxCapsule.java:1312)
                at org.jboss.tm.TxCapsule.commit(TxCapsule.java:340)
                at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:73)
                at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:199)
                at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:61)
                at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:129)
                at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:183)
                at org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.java:313)
                at org.jboss.ejb.Container.invoke(Container.java:705)
                at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
                at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:98)
                at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:102)
                at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:73)
                at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:76)
                at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:111)
                at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:76)
                at $Proxy73.getSlElems(Unknown Source)

                .
                .
                .

                Any idea ?

                --
                OSIP

                • 5. Re: Oracle XA configuration
                  aosip Newbie

                  Yes, I have, but I always got Exception :

                  2002-07-10 10:05:00,432 INFO [STDOUT] Wyst±pi³ wyj±tek : Wyst±pi³ wyj±tek : java.sql.SQLException: Unable to get Connection: javax.resource.ResourceException: Unable to get XAResource: java.sql.SQLException: ORA-01453: SET TRANSACTION must be first statement of transaction
                  2002-07-10 10:05:00,707 ERROR [org.jboss.ejb.plugins.jaws.jdbc.JDBCCommand] Exception caught executing SQL
                  java.sql.SQLException: Unable to get Connection: javax.resource.ResourceException: Unable to get XAResource: java.sql.SQLException: ORA-01453: SET TRANSACTION must be first statement of transaction

                  at org.jboss.resource.adapter.jdbc.JDBCDataSource.getConnection(JDBCDataSource.java:114)
                  at org.jboss.ejb.plugins.jaws.jdbc.JDBCCommand.getConnection(JDBCCommand.java:700)
                  at org.jboss.ejb.plugins.jaws.jdbc.JDBCCommand.jdbcExecute(JDBCCommand.java:168)
                  at org.jboss.ejb.plugins.jaws.jdbc.JDBCFinderCommand.execute(JDBCFinderCommand.java:116)
                  at org.jboss.ejb.plugins.jaws.jdbc.JDBCFindEntitiesCommand.execute(JDBCFindEntitiesCommand.java:200)
                  at org.jboss.ejb.plugins.jaws.jdbc.JDBCFindEntityCommand.execute(JDBCFindEntityCommand.java:91)
                  at org.jboss.ejb.plugins.jaws.JAWSPersistenceManager.findEntity(JAWSPersistenceManager.java:263)
                  at org.jboss.ejb.plugins.CMPPersistenceManager.findEntity(CMPPersistenceManager.java:336)
                  at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.findEntity(CachedConnectionInterceptor.java:301)
                  at org.jboss.ejb.EntityContainer.find(EntityContainer.java:687)
                  at java.lang.reflect.Method.invoke(Native Method)

                  • 6. Re: Oracle XA configuration
                    aosip Newbie

                    Sorry, it is my fault. When I was testing connection I've uncommented TransactionIsoalation, what cause the exception.
                    Now working fine.

                    Thanks.