@Override public void start(Xid xid,int flags) throws XAException {
  if (isDebugEnabled()) {
    debugCode("start(" + JdbcXid.toString(xid) + ", "+ quoteFlags(flags)+ ");");
  }
  if (flags == TMRESUME) {
    return;
  }
  if (flags == TMJOIN) {
    if (currentTransaction != null && !currentTransaction.equals(xid)) {
      throw new XAException(XAException.XAER_RMERR);
    }
  }
 else   if (currentTransaction != null) {
    throw new XAException(XAException.XAER_NOTA);
  }
  try {
    physicalConn.setAutoCommit(false);
  }
 catch (  SQLException e) {
    throw convertException(e);
  }
  currentTransaction=xid;
  prepared=false;
}

@ Override public void start ( Xid xid , int flags ) throws XAException { if ( isDebugEnabled ( ) ) { debugCode ( "start(" + JdbcXid . toString ( xid ) + ", " + quoteFlags ( flags ) + ");" ) ; } if ( flags == TMRESUME ) { return ; } if ( flags == TMJOIN ) { if ( currentTransaction != null && ! currentTransaction . equals ( xid ) ) { throw new XAException ( XAException . XAER_RMERR ) ; } } else if ( currentTransaction != null ) { throw new XAException ( XAException . XAER_NOTA ) ; } try { physicalConn . setAutoCommit ( false ) ; } catch ( SQLException e ) { throw convertException ( e ) ; } currentTransaction = xid ; prepared = false ; }
start or continue to work on a transaction .
