public void stop(URL deployableUnitURL, String deployableUnitName) throws DeploymentException {
		
		if (logger.isTraceEnabled()) {
			logger.trace("stop( deployableUnitURL = : " + deployableUnitURL+" )");
		}
		
		DeployableUnitWrapper du = new DeployableUnitWrapper(deployableUnitURL, deployableUnitName);

		DeployableUnit realDU = null;

		String fileName = du.getFileName();

		if ((realDU = deployableUnits.get(du.getFileName())) != null) {
			if (logger.isTraceEnabled()) {
				logger.trace("Got DU: " + realDU.getDeploymentInfoShortName());
			}

			if (!isInUndeployList(fileName)) {
				addToUndeployList(fileName);
			}

			try {
				// Uninstall it
				sleeContainerDeployer.getDeploymentManager().uninstallDeployableUnit(realDU);
				// Remove it from list if successful
				deployableUnits.remove(fileName);
				removeFromUndeployList(fileName);				
			} catch (DependencyException e) {
				// ignore, will be tried again once there is another undeployment
			} catch (Exception e) {
				Throwable cause = e.getCause();
				if (cause instanceof InvalidStateException) {
					logger.warn(cause.getLocalizedMessage() + "... WAITING ...");
				} else if (e instanceof DeploymentException) {
					throw new IllegalStateException(e.getLocalizedMessage(), e);
				} else {
					logger.error(e.getMessage(), e);
				}				
			}						
		}
	}
public void stop ( URL deployableUnitURL , String deployableUnitName ) throws DeploymentException { if ( logger . isTraceEnabled ( ) ) { logger . trace ( "stop( deployableUnitURL = : " + deployableUnitURL + " )" ) ; } DeployableUnitWrapper du = new DeployableUnitWrapper ( deployableUnitURL , deployableUnitName ) ; DeployableUnit realDU = null ; String fileName = du . getFileName ( ) ; if ( ( realDU = deployableUnits . get ( du . getFileName ( ) ) ) != null ) { if ( logger . isTraceEnabled ( ) ) { logger . trace ( "Got DU: " + realDU . getDeploymentInfoShortName ( ) ) ; } if ( ! isInUndeployList ( fileName ) ) { addToUndeployList ( fileName ) ; } try { sleeContainerDeployer . getDeploymentManager ( ) . uninstallDeployableUnit ( realDU ) ; deployableUnits . remove ( fileName ) ; removeFromUndeployList ( fileName ) ; } catch ( DependencyException e ) { } catch ( Exception e ) { Throwable cause = e . getCause ( ) ; if ( cause instanceof InvalidStateException ) { logger . warn ( cause . getLocalizedMessage ( ) + "... WAITING ..." ) ; } else if ( e instanceof DeploymentException ) { throw new IllegalStateException ( e . getLocalizedMessage ( ) , e ) ; } else { logger . error ( e . getMessage ( ) , e ) ; } } } }
Fun has ended. Time to undeploy.