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,


Reply via email to