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,