You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2013/07/29 15:16:37 UTC

svn commit: r1508047 - in /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb: assembler/classic/Assembler.java core/timer/EjbTimerServiceImpl.java

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,