code: public void enlist() throws ResourceException
     {
        if (isEnlisted() || getState() == DESTROY || getState() == DESTROYED)
           return;
  
        log.tracef("Enlisting: %s", this);
        
        try
        {
           TransactionalConnectionManager txCM = (TransactionalConnectionManager)cm;
           Transaction tx = txCM.getTransactionIntegration().getTransactionManager().getTransaction();
        
           transactionSynchronization = createTransactionSynchronization();
           transactionSynchronization.init(tx);
           transactionSynchronization.enlist();
  
           txCM.getTransactionIntegration().getTransactionSynchronizationRegistry().
              registerInterposedSynchronization(transactionSynchronization);
  
           enlisted = true;
  
           log.tracef("Enlisted: %s", this);
        }
        catch (ResourceException re)
        {
           throw re;
        }
        catch (Exception e)
        {
           throw new ResourceException(e);
        }
     }
docs: {@inheritDoc}