public void rollback(Xid xid) throws XAException
    {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(this, tc, "rollback", "XID="+xid);

        try
        {
            // Rollback the MessageStore Transaction to
            // ensure our in-memory model is in-line
            // with the persistent store.
            _manager.rollback(new PersistentTranId(xid));

         
        }
        catch (XidUnknownException xue)
        {
            com.ibm.ws.ffdc.FFDCFilter.processException(xue, "com.ibm.ws.sib.msgstore.transactions.MSDelegatingXAResource.rollback", "1:640:1.51.1.7", this);
            if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled()) SibTr.event(this, tc, "Cannot rollback transaction branch, Xid is unknown!", xue);
            if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "rollback");
            XAException xaException = new XAException(XAException.XAER_NOTA);
            xaException.initCause(xue);
            throw xaException;
        }
        catch (XidStillAssociatedException xsae)
        {
            com.ibm.ws.ffdc.FFDCFilter.processException(xsae, "com.ibm.ws.sib.msgstore.transactions.MSDelegatingXAResource.rollback", "1:649:1.51.1.7", this);
            if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled()) SibTr.event(this, tc, "Cannot rollback transaction branch, resources are still associated with this Xid!", xsae);
            if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "rollback");
            XAException xaException = new XAException(XAException.XAER_PROTO);
            xaException.initCause(xsae);
            throw xaException;
        }
        catch (ProtocolException tpe)
        {
            com.ibm.ws.ffdc.FFDCFilter.processException(tpe, "com.ibm.ws.sib.msgstore.transactions.MSDelegatingXAResource.rollback", "1:658:1.51.1.7", this);
            if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled()) SibTr.event(this, tc, "A Transaction protocol error occurred during rollback of transaction branch!", tpe);
            if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "rollback");
            XAException xaException = new XAException(XAException.XAER_PROTO);
            xaException.initCause(tpe);
            throw xaException;
        }
        catch (TransactionException te)
        {
            com.ibm.ws.ffdc.FFDCFilter.processException(te, "com.ibm.ws.sib.msgstore.transactions.MSDelegatingXAResource.rollback", "1:667:1.51.1.7", this);
            if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled()) SibTr.event(this, tc, "Unexpected error occurred during rollback of transaction branch!", te);
            if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "rollback");
            XAException xaException = new XAException(XAException.XAER_RMFAIL);
            xaException.initCause(te);
            throw xaException;
        }
        catch (PersistenceException pe)
        {
            com.ibm.ws.ffdc.FFDCFilter.processException(pe, "com.ibm.ws.sib.msgstore.transactions.MSDelegatingXAResource.rollback", "1:676:1.51.1.7", this);
            if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled()) SibTr.event(this, tc, "Unexpected error occurred whilst persisting transaction work!", pe);
            if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "rollback");
            XAException xaException = new XAException(XAException.XAER_RMFAIL); // PK53360
            xaException.initCause(pe);
            throw xaException;
        }

        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "rollback");
    }
public void rollback ( Xid xid ) throws XAException { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . entry ( this , tc , "rollback" , "XID=" + xid ) ; try { _manager . rollback ( new PersistentTranId ( xid ) ) ; } catch ( XidUnknownException xue ) { com . ibm . ws . ffdc . FFDCFilter . processException ( xue , "com.ibm.ws.sib.msgstore.transactions.MSDelegatingXAResource.rollback" , "1:640:1.51.1.7" , this ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEventEnabled ( ) ) SibTr . event ( this , tc , "Cannot rollback transaction branch, Xid is unknown!" , xue ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( this , tc , "rollback" ) ; XAException xaException = new XAException ( XAException . XAER_NOTA ) ; xaException . initCause ( xue ) ; throw xaException ; } catch ( XidStillAssociatedException xsae ) { com . ibm . ws . ffdc . FFDCFilter . processException ( xsae , "com.ibm.ws.sib.msgstore.transactions.MSDelegatingXAResource.rollback" , "1:649:1.51.1.7" , this ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEventEnabled ( ) ) SibTr . event ( this , tc , "Cannot rollback transaction branch, resources are still associated with this Xid!" , xsae ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( this , tc , "rollback" ) ; XAException xaException = new XAException ( XAException . XAER_PROTO ) ; xaException . initCause ( xsae ) ; throw xaException ; } catch ( ProtocolException tpe ) { com . ibm . ws . ffdc . FFDCFilter . processException ( tpe , "com.ibm.ws.sib.msgstore.transactions.MSDelegatingXAResource.rollback" , "1:658:1.51.1.7" , this ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEventEnabled ( ) ) SibTr . event ( this , tc , "A Transaction protocol error occurred during rollback of transaction branch!" , tpe ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( this , tc , "rollback" ) ; XAException xaException = new XAException ( XAException . XAER_PROTO ) ; xaException . initCause ( tpe ) ; throw xaException ; } catch ( TransactionException te ) { com . ibm . ws . ffdc . FFDCFilter . processException ( te , "com.ibm.ws.sib.msgstore.transactions.MSDelegatingXAResource.rollback" , "1:667:1.51.1.7" , this ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEventEnabled ( ) ) SibTr . event ( this , tc , "Unexpected error occurred during rollback of transaction branch!" , te ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( this , tc , "rollback" ) ; XAException xaException = new XAException ( XAException . XAER_RMFAIL ) ; xaException . initCause ( te ) ; throw xaException ; } catch ( PersistenceException pe ) { com . ibm . ws . ffdc . FFDCFilter . processException ( pe , "com.ibm.ws.sib.msgstore.transactions.MSDelegatingXAResource.rollback" , "1:676:1.51.1.7" , this ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEventEnabled ( ) ) SibTr . event ( this , tc , "Unexpected error occurred whilst persisting transaction work!" , pe ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( this , tc , "rollback" ) ; XAException xaException = new XAException ( XAException . XAER_RMFAIL ) ; xaException . initCause ( pe ) ; throw xaException ; } if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( this , tc , "rollback" ) ; }
Aborts all work associated with the supplied XID. Once this method has
returned all changes carried out as part of that transaction branch should
be undone.

@param xid    The identifier of the global transaction branch to rollback.

@exception XAException
Thrown if an error occurs during completion. Check the JTA specification for
details of the individual exception codes.