Author: rmannibucau Date: Mon Jul 29 13:16:37 2013 New Revision: 1508047 URL: http://svn.apache.org/r1508047 Log: TOMEE-1010 don't undeploy webapp before ejb#stop when standalone webapp is undeployed
Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=1508047&r1=1508046&r2=1508047&view=diff ============================================================================== --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java Mon Jul 29 13:16:37 2013 @@ -1539,7 +1539,7 @@ public class Assembler extends Assembler final UndeployException undeployException = new UndeployException(messages.format("destroyApplication.failed", appInfo.path)); final WebAppBuilder webAppBuilder = SystemInstance.get().getComponent(WebAppBuilder.class); - if (webAppBuilder != null) { + if (webAppBuilder != null && !appInfo.webAppAlone) { try { webAppBuilder.undeployWebApps(appInfo); } catch (Exception e) { @@ -1599,6 +1599,14 @@ public class Assembler extends Assembler } } + if (webAppBuilder != null && appInfo.webAppAlone) { // now that EJB are stopped we can undeploy webapps + try { + webAppBuilder.undeployWebApps(appInfo); + } catch (Exception e) { + undeployException.getCauses().add(new Exception("App: " + appInfo.path + ": " + e.getMessage(), e)); + } + } + // get the client ids final List<String> clientIds = new ArrayList<String>(); for (final ClientInfo clientInfo : appInfo.clients) { Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java?rev=1508047&r1=1508046&r2=1508047&view=diff ============================================================================== --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java Mon Jul 29 13:16:37 2013 @@ -729,7 +729,15 @@ public class EjbTimerServiceImpl impleme // call the timeout method try { final RpcContainer container = (RpcContainer) deployment.getContainer(); + if (container == null) { + return; + } + final Method ejbTimeout = timerData.getTimeoutMethod(); + if (ejbTimeout == null) { + return; + } + SetAccessible.on(ejbTimeout); container.invoke(deployment.getDeploymentID(), InterfaceType.TIMEOUT,