Fix bug 29936. In some circumstances, Tomcat would use the parser from a webapp to...
authormarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Sun, 20 Apr 2008 20:47:57 +0000 (20:47 +0000)
committermarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Sun, 20 Apr 2008 20:47:57 +0000 (20:47 +0000)
git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@649974 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/catalina/startup/ContextConfig.java

index 7ea2b29..2cac87b 100644 (file)
@@ -339,10 +339,6 @@ public class ContextConfig
         
         long t1=System.currentTimeMillis();
 
-        if (webDigester == null){
-            webDigester = createWebDigester();
-        }
-        
         URL url=null;
         // Process the application web.xml file
         synchronized (webDigester) {
@@ -624,10 +620,6 @@ public class ContextConfig
                       + " " + defaultWebXml + " " + file , e);
         }
 
-        if (webDigester == null){
-            webDigester = createWebDigester();
-        }
-        
         if (stream != null) {
             processDefaultWebConfig(webDigester, stream, source);
             webRuleSet.recycle();
@@ -786,9 +778,6 @@ public class ContextConfig
         
         if (source == null)
             return;
-        if (contextDigester == null){
-            contextDigester = createContextDigester();
-        }
         synchronized (contextDigester) {
             try {
                 source.setByteStream(stream);
@@ -997,6 +986,16 @@ public class ContextConfig
     protected void init() {
         // Called from StandardContext.init()
 
+        if (webDigester == null){
+            webDigester = createWebDigester();
+            webDigester.getParser();
+        }
+        
+        if (contextDigester == null){
+            contextDigester = createContextDigester();
+            contextDigester.getParser();
+        }
+
         if (log.isDebugEnabled())
             log.debug(sm.getString("contextConfig.init"));
         context.setConfigured(false);