code: public void delist() throws ResourceException
     {
        log.tracef("Delisting: %s", this);
        
        try
        {
           TransactionalConnectionManager txCM = (TransactionalConnectionManager)cm;
           TransactionManager tm = txCM.getTransactionIntegration().getTransactionManager();
           int status = tm.getStatus();
  
           if (status != Status.STATUS_NO_TRANSACTION && enlisted)
           {
              Transaction tx = tm.getTransaction();
              boolean delistResult = tx.delistResource(xaResource, XAResource.TMSUCCESS);
  
              if (Tracer.isEnabled())
                 Tracer.delistConnectionListener(cm.getPool().getConfiguration().getId(),
                                                 getManagedConnectionPool(),
                                                 this, tx.toString(),
                                                 true, false, false);
  
              if (delistResult)
              {
                 log.tracef("delist-success: %s", this);
              }
              else
              {
                 log.debugf("delist-success failed: %s", this);
              }
           }
  
           localTransaction = false;
        
           if (transactionSynchronization != null)
           {
              transactionSynchronization.cancel();
              transactionSynchronization = null;
           }
  
           enlisted = false;
           log.tracef("Delisted: %s", this);
        }
        catch (Exception e)
        {
           throw new ResourceException(e);
        }
     }
docs: {@inheritDoc}