Author: jgallimore
Date: Sat Jan 22 20:50:07 2011
New Revision: 1062270

URL: http://svn.apache.org/viewvc?rev=1062270&view=rev
Log:
OPENEJB-1423 fix Tomcat 7 not shutting down correctly

Modified:
    
openejb/trunk/openejb3/assembly/itest-runner/src/test/groovy/commands/SetupCommand.groovy
    
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/GlobalListenerSupport.java
    
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatWsRegistry.java
    
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-loader/src/main/java/org/apache/openejb/tomcat/loader/TomcatHelper.java

Modified: 
openejb/trunk/openejb3/assembly/itest-runner/src/test/groovy/commands/SetupCommand.groovy
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/itest-runner/src/test/groovy/commands/SetupCommand.groovy?rev=1062270&r1=1062269&r2=1062270&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/assembly/itest-runner/src/test/groovy/commands/SetupCommand.groovy
 (original)
+++ 
openejb/trunk/openejb3/assembly/itest-runner/src/test/groovy/commands/SetupCommand.groovy
 Sat Jan 22 20:50:07 2011
@@ -87,7 +87,7 @@ class SetupCommand {
 
   def execute() {
     execute("6.0.29")
-    execute("7.0.5")
+    execute("7.0.6")
   }
 
   def execute(tomcatVersion) {
@@ -113,7 +113,7 @@ class SetupCommand {
 
     if (tomcatVersion != "testonly") {
       if (tomcatVersion =~ /^7\./) {
-        source = 
"http://archive.apache.org/dist/tomcat/tomcat-7/v${tomcatVersion}-beta/bin/apache-tomcat-${tomcatVersion}.zip";
+        source = 
"http://archive.apache.org/dist/tomcat/tomcat-7/v${tomcatVersion}/bin/apache-tomcat-${tomcatVersion}.zip";
       }
 
       if (tomcatVersion =~ /^6\./) {

Modified: 
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/GlobalListenerSupport.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/GlobalListenerSupport.java?rev=1062270&r1=1062269&r2=1062270&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/GlobalListenerSupport.java
 (original)
+++ 
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/GlobalListenerSupport.java
 Sat Jan 22 20:50:07 2011
@@ -109,6 +109,11 @@ public class GlobalListenerSupport imple
         } else if (source instanceof StandardServer) {
             StandardServer standardServer = (StandardServer) source;
             String type = event.getType();
+
+            if (Lifecycle.BEFORE_STOP_EVENT.equals(type)) {
+               TomcatHelper.setStopping(true);
+            }
+            
             if (Lifecycle.AFTER_STOP_EVENT.equals(type)) {
                 contextListener.afterStop(standardServer);
             }

Modified: 
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatWsRegistry.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatWsRegistry.java?rev=1062270&r1=1062269&r2=1062270&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatWsRegistry.java
 (original)
+++ 
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/TomcatWsRegistry.java
 Sat Jan 22 20:50:07 2011
@@ -259,6 +259,10 @@ public class TomcatWsRegistry implements
         // assure context root with a leading slash
         if (!path.startsWith("/")) path = "/" + path;
 
+        if (TomcatHelper.isTomcat7() && TomcatHelper.isStopping()) {
+               return;
+        }
+        
         StandardContext context = webserviceContexts.remove(path);
         try {
             context.stop();

Modified: 
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-loader/src/main/java/org/apache/openejb/tomcat/loader/TomcatHelper.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-loader/src/main/java/org/apache/openejb/tomcat/loader/TomcatHelper.java?rev=1062270&r1=1062269&r2=1062270&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-loader/src/main/java/org/apache/openejb/tomcat/loader/TomcatHelper.java
 (original)
+++ 
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-loader/src/main/java/org/apache/openejb/tomcat/loader/TomcatHelper.java
 Sat Jan 22 20:50:07 2011
@@ -31,6 +31,16 @@ import org.apache.catalina.core.Standard
 
 public class TomcatHelper {
 
+       private static boolean stopping = false;
+       
+       public static boolean isStopping() {
+               return stopping;
+       }
+
+       public static void setStopping(boolean stopping) {
+               TomcatHelper.stopping = stopping;
+       }
+
        public static StandardServer getServer() {
                StandardServer server = null;
                


Reply via email to