1 Reply Latest reply on Jul 4, 2002 11:09 PM by davidjencks

    Problem with Oracle XA in JBoss3.0

    danny.robinson

      Guys,

      I've an MDB that receiving messages under Container/Required control. The MDB gets a message, but when I try and get a DB connection from the pool I get:

      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

      I couldn't find an example of an oracle-xa-service.xml so I created one as follows:

      <?xml version="1.0" encoding="UTF-8"?>





      <depends optional-attribute-name="ManagedConnectionFactoryName">





      <config-property>
      <config-property-name>XADataSourceClass</config-property-name>
      <config-property-type>java.lang.String</config-property-type>
      <config-property-value>oracle.jdbc.xa.client.OracleXADataSource</config-property-value>
      </config-property>
      <config-property>
      <config-property-name>XADataSourceProperties</config-property-name>
      <config-property-type>java.lang.String</config-property-type>
      <config-property-value>URL=jdbc:oracle:thin:@localhost:1521:ccs</config-property-value>
      </config-property>
      <config-property>
      <config-property-name>TransactionIsolation</config-property-name>
      <config-property-type>java.lang.String</config-property-type>
      <config-property-value>TRANSACTION_READ_COMMITTED</config-property-value>
      </config-property>




      WorkflowDS

      <!--Below here are advanced properties -->
      <!--hack-->
      <depends optional-attribute-name="OldRarDeployment">jboss.jca:service=RARDeployment,name=Minerva JDBC XATransaction ResourceAdapter



      <depends optional-attribute-name="ManagedConnectionPool">
      <!--embedded mbean-->


      5
      20
      5000
      15
      <!--criteria indicates if Subject (from security domain) or app supplied
      parameters (such as from getConnection(user, pw)) are used to distinguish
      connections in the pool. Choices are
      ByContainerAndApplication (use both),
      ByContainer (use Subject),
      ByApplication (use app supplied params only),
      ByNothing (all connections are equivalent, usually if adapter supports
      reauthentication)-->
      ByContainer




      <depends optional-attribute-name="CachedConnectionManager">jboss.jca:service=CachedConnectionManager

      <!--
      <depends optional-attribute-name="JaasSecurityManagerService">jboss.security:name=JaasSecurityManager
      -->

      java:/TransactionManager

      <!--make the rar deploy! hack till better deployment-->
      jboss.jca:service=RARDeployer






      Can anyone help .... please

      Cheers,

      Danny