@ Override public void forget ( Xid xid ) throws XAException { try { LOG . debug ( "PhynixxXAResource[" + this . getId ( ) + "]:forget forget with Xid" ) ; if ( xid == null ) throw new XAException ( XAException . XAER_INVAL ) ; XATransactionalBranch < C > transactionalBranch = this . xaConnection . toGlobalTransactionBranch ( ) ; // must find connection for this transaction if ( transactionalBranch == null ) { return ; // } this . xaConnection . closeTransactionalBranch ( xid ) ; this . xaConnection . close ( ) ; } finally { // stop monitoring the timeout this . setTimeOutActive ( false ) ; } }
finds the transactional branch of the current XAResource associated with die XID and closes it without commit or explicit rollback