public void remove ( boolean isUninstall ) throws SLEEException { if ( logger . isTraceEnabled ( ) ) { logger . trace ( "removeProfileTable: removing profileTable=" + profileTableName ) ; } // remove the table profiles, at this stage they may use notification source, lets leave it. for ( ProfileID profileID : getProfiles ( ) ) { // don't invoke the profile concrete object, to avoid evil profile lifecycle impls // that rollbacks tx, as Test1110251Test this . removeProfile ( profileID . getProfileName ( ) , false , isUninstall ) ; } // remove default profile if ( getDefaultProfileEntity ( ) != null ) { this . removeProfile ( null , false , false ) ; } // add action after commit to remove tracer and close uncommitted mbeans TransactionalAction commitAction = new TransactionalAction ( ) { public void execute ( ) { // remove notification sources for profile table final TraceManagement traceMBeanImpl = sleeContainer . getTraceManagement ( ) ; traceMBeanImpl . deregisterNotificationSource ( new ProfileTableNotification ( profileTableName ) ) ; // close uncommitted mbeans closeUncommittedProfileMBeans ( ) ; } } ; sleeContainer . getTransactionManager ( ) . getTransactionContext ( ) . getAfterCommitActions ( ) . add ( commitAction ) ; if ( sleeContainer . getSleeState ( ) == SleeState . RUNNING ) { endActivity ( ) ; } // unregister mbean unregisterUsageMBean ( ) ; // remove object pool profileManagement . getObjectPoolManagement ( ) . removeObjectPool ( this , sleeContainer . getTransactionManager ( ) ) ; }
Triggers remove operation on this profile table .