final void delistRRSXAResource ( XAResource xaResource ) throws Exception { RRSXAResourceFactory xaFactory = ( RRSXAResourceFactory ) pm . connectorSvc . rrsXAResFactorySvcRef . getService ( ) ; // Make sure that the bundle is active. if ( xaFactory == null ) { throw new IllegalStateException ( "Native service for RRS transactional support is not active or available. Resource delistment is rejected." ) ; } UOWCurrent currentUOW = ( UOWCurrent ) pm . connectorSvc . transactionManager ; UOWCoordinator uowCoord = currentUOW . getUOWCoord ( ) ; // If delisting for cleanup, notify the factory that the resource has been // delisted for cleanup with the transaction manager. if ( ! uowCoord . isGlobal ( ) ) { LocalTransactionCoordinator ltCoord = ( LocalTransactionCoordinator ) uowCoord ; if ( ! ltCoord . isContainerResolved ( ) ) { ltCoord . delistFromCleanup ( ( OnePhaseXAResource ) xaResource ) ; xaFactory . delist ( uowCoord , xaResource ) ; } } }
Delists a RRS XA resource information with the transaction manager .