From 8268fdabe393560c912c5e2c7241fe49683180d5 Mon Sep 17 00:00:00 2001 From: markt Date: Fri, 13 Jun 2008 20:40:27 +0000 Subject: [PATCH] Another fix for https://issues.apache.org/bugzilla/show_bug.cgi?id=43683 There was a short period where the context didn't appear in the mapper that resulted in some more 404s. git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@667644 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/catalina/connector/MapperListener.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/java/org/apache/catalina/connector/MapperListener.java b/java/org/apache/catalina/connector/MapperListener.java index 545ee1e29..c1e6285b1 100644 --- a/java/org/apache/catalina/connector/MapperListener.java +++ b/java/org/apache/catalina/connector/MapperListener.java @@ -26,11 +26,14 @@ import javax.management.NotificationListener; import javax.management.ObjectInstance; import javax.management.ObjectName; +import org.apache.catalina.core.StandardContext; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; +import org.apache.tomcat.util.buf.MessageBytes; import org.apache.tomcat.util.http.mapper.Mapper; +import org.apache.tomcat.util.http.mapper.MappingData; import org.apache.tomcat.util.modeler.Registry; import org.apache.tomcat.util.res.StringManager; @@ -430,6 +433,19 @@ public class MapperListener if (contextName.equals("/")) { contextName = ""; } + + // Don't un-map a context that is paused + MessageBytes hostMB = MessageBytes.newInstance(); + hostMB.setString(hostName); + MessageBytes contextMB = MessageBytes.newInstance(); + contextMB.setString(contextName); + MappingData mappingData = new MappingData(); + mapper.map(hostMB, contextMB, mappingData); + if (mappingData.context instanceof StandardContext && + ((StandardContext)mappingData.context).getPaused()) { + return; + } + if(log.isDebugEnabled()) log.debug(sm.getString ("mapperListener.unregisterContext", contextName)); -- 2.11.0