@Override
    public void enlist() throws ResourceException {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) { 
            Tr.entry(this, tc, "enlist");
        }

        // Enlist a one phase resource representing RRS.
        if (!enlisted) { 
            int dummyInt = -1;
            try {
                rrsXAResource = mcWrapper.enlistRRSXAResource(dummyInt, dummyInt);
            } catch (Throwable t) {
                throw new ResourceException(t);
            }
        }
        // Indicate that the  ManagedConnection that this transaction
        // wrapper is associated with is "dirty" (i.e, the managed
        // connection is involved in the transaction.
        enlisted = true;
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) { 
            Tr.exit(this, tc, "enlist");
        }
    }
@ Override public void enlist ( ) throws ResourceException { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) { Tr . entry ( this , tc , "enlist" ) ; } if ( ! enlisted ) { int dummyInt = - 1 ; try { rrsXAResource = mcWrapper . enlistRRSXAResource ( dummyInt , dummyInt ) ; } catch ( Throwable t ) { throw new ResourceException ( t ) ; } } enlisted = true ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) { Tr . exit ( this , tc , "enlist" ) ; } }
Enlist

NOTE: In the case of RRSTransactional support, we will simply
set the enlist indicator on. However, the real enlistment
on the transaction is actually done by the backend
Resource Manager. Thus, enlistment is really deferred
until the backend Resource Manager receives the context
from the connector at which time it registers an interest
in the transaction using RRS services.