4 Replies Latest reply on Jun 7, 2010 1:02 AM by dengyong

    OracleXARecovery transaction recovery module can not detect when JDBC connection is broken

    dengyong

      My environment:

      JBOSS TS 4.2.3 SP6
      My case is like below:
      I am using com.arjuna.ats.internal.jdbc.recovery.OracleXARecovery recovery module to recovery my oracle XA resource in-doubt transaction.
      Everything works fine until my network cable is unplugged. After the network is broken, I find following boring log is continually printed.
           
      19:16:20,760 WARN  [loggerI18N] [com.arjuna.ats.internal.jta.recovery.xarecovery1] Local XARecoveryModule.xaRecovery  got XA exception javax.transaction.xa.XAException, XAException.XAER_RMERR
       
      I studied the source code and did some investigations. I found the code can never detect when JDBC connection is broken underneath.
      But we found JBOSS JCA JDBC pool can detect the bad connection. It is using org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker to validate the bad connection. I am not sure if OracleXARecovery can reuse this piece of code.
       
      At last my question is:
        • Is this bug fixed in later JBOSS JTA release?