3 Replies Latest reply on Jul 7, 2015 7:44 AM by Wolfgang Mayer

    Recover XA configuration for Oracle

    Jan Nielsen Newbie

      Hi,

       

      I hope someone will be able to help me. I'm having problems getting a XA configuration to work for Oracle on jboss-6.3 EAP.  I keep getting this exception in my log file

       

      WARN  [com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016027: Local XARecoveryModule.xaRecovery g

      ot XA exception XAException.XAER_RMERR: javax.transaction.xa.XAException

              at oracle.jdbc.xa.OracleXAResource.recover(OracleXAResource.java:703)

              at org.jboss.jca.adapters.jdbc.xa.XAManagedConnection.recover(XAManagedConnection.java:362)

              at org.jboss.jca.core.tx.jbossts.XAResourceWrapperImpl.recover(XAResourceWrapperImpl.java:177)

              at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecoverySecondPass(XARecoveryModule.java:7


      I know that grants must be provided for the oracle user and it has been granted for the user specified in the recover-credential section. But the user in the receover section seems to be ignorred 100%.

      Is is not possible to have one user that handles the normal jdbc and another for rollback/recover situations?

       

       

                  <xa-datasource jndi-name="java:jboss/resources/jdbc/MyDS" pool-name="MyDS" enabled="true" use-ccm="false">
                      <xa-datasource-property name="URL">                   
      jdbc:oracle:thin:@127.0.0.1:1521:uint
                      </xa-datasource-property>
                      <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
                      <driver>ojdbc-6-11.1.0.7.0.jar</driver>
                      <xa-pool>
                          <max-pool-size>5</max-pool-size>
                          <is-same-rm-override>false</is-same-rm-override>
                          <interleaving>false</interleaving>
                          <pad-xid>false</pad-xid>
                          <wrap-xa-resource>true</wrap-xa-resource>
                      </xa-pool>
                      <security>
                          <user-name>user</user-name>
                          <password>password</password>
                      </security>
         <recovery> <recovery>
                          <recover-credential>
                              <user-name>admin</user-name>
                              <password>admin</password>
                          </recover-credential>
                      </recovery>  
                      <validation>
                          <check-valid-connection-sql>select 1 from dual</check-valid-connection-sql>
                          <validate-on-match>false</validate-on-match>
                          <background-validation>true</background-validation>
                          <background-validation-millis>120000</background-validation-millis>
                      </validation>
                      <timeout>
                          <set-tx-query-timeout>false</set-tx-query-timeout>
                          <blocking-timeout-millis>0</blocking-timeout-millis>
                          <idle-timeout-minutes>0</idle-timeout-minutes>
                          <query-timeout>0</query-timeout>
                          <use-try-lock>0</use-try-lock>
                          <allocation-retry>0</allocation-retry>
                          <allocation-retry-wait-millis>0</allocation-retry-wait-millis>
                          <xa-resource-timeout>0</xa-resource-timeout>
                      </timeout>
                      <statement>
                          <share-prepared-statements>false</share-prepared-statements>
                      </statement>
                  </xa-datasource>

       

       

      Thank you

      Jan