public void uninstallDeployableUnit ( DeployableUnit du ) throws Exception { // Update the deployed components from SLEE updateDeployedComponents ( ) ; // It isn't installed? if ( ! du . isInstalled ( ) ) { // Then it should be in the waiting list... remove and we're done. if ( waitingForInstallDUs . remove ( du ) ) { logger . info ( du . getDeploymentInfoShortName ( ) + " wasn't deployed. Removing from waiting list." ) ; } } // Check if DU components are still present else if ( ! du . areComponentsStillPresent ( ) ) { logger . info ( du . getDeploymentInfoShortName ( ) + " components already removed. Removing DU info." ) ; // Process internals of undeployment... processInternalUndeploy ( du ) ; } // Check if the DU is ready to be uninstalled else if ( du . isReadyToUninstall ( ) ) { // Get and Run the actions needed for uninstalling this DU sciAction ( du . getUninstallActions ( ) , du ) ; // Process internals of undeployment... processInternalUndeploy ( du ) ; } else { // Have we been her already? If so, don't flood user with log messages... if ( ! waitingForUninstallDUs . contains ( du ) ) { // Add it to the waiting list. waitingForUninstallDUs . add ( du ) ; logger . warn ( "Unable to UNINSTALL " + du . getDeploymentInfoShortName ( ) + " right now. Waiting for dependents to be removed." ) ; } throw new DependencyException ( "Unable to undeploy " + du . getDeploymentInfoShortName ( ) ) ; } }
Method for uninstalling a Deployable Unit into SLEE .