You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ni...@apache.org on 2007/12/01 10:23:51 UTC

svn commit: r600064 - /incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java

Author: ningjiang
Date: Sat Dec  1 01:23:50 2007
New Revision: 600064

URL: http://svn.apache.org/viewvc?rev=600064&view=rev
Log:
CXF-1236 Fixed the warning message of the JettyHTTPServerEngine

Modified:
    incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java

Modified: incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java?rev=600064&r1=600063&r2=600064&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java (original)
+++ incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java Sat Dec  1 01:23:50 2007
@@ -354,17 +354,19 @@
      */
     public synchronized void removeServant(URL url) {        
         
-        String contextName = HttpUriMapper.getContextName(url.getPath());
-
+        final String contextName = HttpUriMapper.getContextName(url.getPath());
+        final String smap = HttpUriMapper.getResourceBase(url.getPath());
         boolean found = false;
-        // REVISIT:After a stop(), the server is null, and therefore this 
-        // operation shouldn't find a handler
-        if (server != null) {
+        
+        if (server != null && server.isRunning()) {
             for (Handler handler : contexts.getChildHandlersByClass(ContextHandler.class)) {
-                ContextHandler contextHandler = null;
+                ContextHandler contextHandler = null;                
                 if (handler instanceof ContextHandler) {
                     contextHandler = (ContextHandler) handler;
-                    if (contextName.equals(contextHandler.getContextPath())) {
+                    Handler jh = contextHandler.getHandler();
+                    if (jh instanceof JettyHTTPHandler
+                        && contextName.equals(contextHandler.getContextPath())
+                        && ((JettyHTTPHandler)jh).getName().equals(smap)) {
                         try {
                             contexts.removeHandler(handler);                            
                             handler.stop();
@@ -373,9 +375,9 @@
                             LOG.log(Level.WARNING, "REMOVE_HANDLER_FAILED_MSG", 
                                     new Object[] {ex.getMessage()}); 
                         }
-                        
-                    }
-                    found = true;
+                        found = true;
+                        break;                        
+                    }                    
                 }
             }
         }
@@ -384,12 +386,7 @@
         }
         
         --servantCount;
-        /* Bug in Jetty, we cannot do this.  If we restart later, data goes off
-         * someplace unknown
-        if (servantCount == 0) {
-            server.removeListener(listener);
-        }
-        */
+       
     }
 
     /**