public synchronized String undeploy(String serviceUnitName, String serviceUnitRootPath) throws DeploymentException { ClassLoader cl = Thread.currentThread().getContextClassLoader(); try { logger.debug("Undeploying service unit"); logger.debug("Shutting down service unit"); if (serviceUnitName == null || serviceUnitName.length() == 0) { throw new IllegalArgumentException("serviceUnitName should be non null and non empty"); } ServiceUnit su = getServiceUnit(serviceUnitName); if (su == null) { throw failure("undeploy", "Service Unit '" + serviceUnitName + "' is not deployed", null); } if (!LifeCycleMBean.SHUTDOWN.equals(su.getCurrentState())) { throw failure("undeploy", "ServiceUnit should be in a SHUTDOWN state", null); } Thread.currentThread().setContextClassLoader(su.getConfigurationClassLoader()); if (serviceUnitRootPath != null) { doUndeploy(su); } component.getRegistry().unregisterServiceUnit(su); logger.debug("Service unit undeployed"); return createSuccessMessage("undeploy"); } catch (DeploymentException e) { throw e; } catch (Exception e) { throw failure("undeploy", "Unable to undeploy service unit", e); } finally { Thread.currentThread().setContextClassLoader(cl); } }
public synchronized String deploy(String serviceUnitName, String serviceUnitRootPath) throws DeploymentException { try { logger.debug("Deploying service unit"); if (serviceUnitName == null || serviceUnitName.length() == 0) { throw new IllegalArgumentException("serviceUnitName should be non null and non empty"); } if (getServiceUnit(serviceUnitName) != null) { throw failure("deploy", "Service Unit '" + serviceUnitName + "' is already deployed", null); } ServiceUnit su = doDeploy(serviceUnitName, serviceUnitRootPath); if (su == null) { throw failure("deploy", "Unable to find suitable deployer for Service Unit '" + serviceUnitName + "'", null); } component.getRegistry().registerServiceUnit(su); logger.debug("Service unit deployed"); return createSuccessMessage("deploy"); } catch (DeploymentException e) { throw e; } catch (Exception e) { throw failure("deploy", "Unable to deploy service unit", e); } }