/** * {@inheritDoc} */ @Override public void undeployWebApps(AppInfo appInfo) throws Exception { for (WebAppInfo webApp : appInfo.webApps) { ContextInfo contextInfo = getContextInfo(webApp.host, webApp.contextRoot); if (contextInfo != null && contextInfo.deployer != null) { StandardContext standardContext = contextInfo.standardContext; HostConfig deployer = contextInfo.deployer; if (deployer != null) { deployer.unmanageApp(standardContext.getPath()); } else if (contextInfo.host != null) { contextInfo.host.removeChild(standardContext); } deleteDir(new File(standardContext.getServletContext().getRealPath(""))); removeContextInfo(standardContext); } } }
/** * {@inheritDoc} */ @Override public void afterStop(StandardContext standardContext) { if (isIgnored(standardContext)) return; ContextInfo contextInfo = getContextInfo(standardContext); if (contextInfo != null && contextInfo.appInfo != null && contextInfo.deployer == null && getAssembler().getDeployedApplications().contains(contextInfo.appInfo)) { try { getAssembler().destroyApplication(contextInfo.appInfo.path); } catch (Exception e) { logger.error("Unable to stop web application " + standardContext.getPath() + ": Exception: " + e.getMessage(), e); } } removeContextInfo(standardContext); }
/** * {@inheritDoc} */ @Override public void undeployWebApps(final AppInfo appInfo) throws Exception { final String version = appVersion(appInfo); for (final WebAppInfo webApp : appInfo.webApps) { final ContextInfo contextInfo = getContextInfo(webApp.host, webApp.contextRoot, version); if (contextInfo != null) { final StandardContext standardContext = contextInfo.standardContext; if (!appInfo.webAppAlone || !appInfo.properties.containsKey("tomee.destroying")) { undeploy(standardContext, contextInfo); final File extracted = Contexts.warPath(standardContext); if (isExtracted(extracted)) { deleteDir(extracted); } removeContextInfo(standardContext); } } } }
removeContextInfo(standardContext);