code: public final int getTransactionTimeout() throws XAException {
  
          // if the MC marked Stale, it means the user requested a purge pool with an immediate option
          // so don't allow any work to continue.  In this case, we throw XAER_RMFAIL xa error
          // which indicates that the resource manager is not available
          if (ivManagedConnection._mcStale) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) 
                  Tr.debug(this, tc, "MC is stale throwing XAER_RMFAIL", ivManagedConnection);
              Tr.error(tc, "INVALID_CONNECTION");
              throw new XAException(XAException.XAER_RMFAIL);
          }
  
          return ivXaRes.getTransactionTimeout();
      }
docs: Obtain the current transaction timeout value set for this XAResource instance. If XAResource.setTransactionTimeout was
  not use prior to invoking this method, the return value is the default timeout set for the resource manager; otherwise, the value
  used in the previous setTransactionTimeout call is returned.
  
  @return int - the transaction timeout value in seconds.
  @exception XAException - An error has occurred. Possible exception values are XAER_RMERR, XAER_RMFAIL.
  Possible causes for this exception are:
  1) getTransactionTimeout on the physical XAResource failed