You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2013/10/17 17:26:13 UTC

svn commit: r1533117 - /tomcat/trunk/java/org/apache/catalina/startup/Catalina.java

Author: markt
Date: Thu Oct 17 15:26:13 2013
New Revision: 1533117

URL: http://svn.apache.org/r1533117
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=55656
Configure the Digester to use the server class loader when parsing server.xml rather than the class loader that loaded StandardServer.
Patch provided by Roberto Benedetti.

Modified:
    tomcat/trunk/java/org/apache/catalina/startup/Catalina.java

Modified: tomcat/trunk/java/org/apache/catalina/startup/Catalina.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/Catalina.java?rev=1533117&r1=1533116&r2=1533117&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/Catalina.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/Catalina.java Thu Oct 17 15:26:13 2013
@@ -34,7 +34,6 @@ import org.apache.catalina.Container;
 import org.apache.catalina.LifecycleException;
 import org.apache.catalina.LifecycleState;
 import org.apache.catalina.Server;
-import org.apache.catalina.core.StandardServer;
 import org.apache.catalina.security.SecurityConfig;
 import org.apache.juli.ClassLoaderLogManager;
 import org.apache.tomcat.util.ExceptionUtils;
@@ -275,7 +274,7 @@ public class Catalina {
         attrs.add("className");
         fakeAttributes.put(Object.class, attrs);
         digester.setFakeAttributes(fakeAttributes);
-        digester.setClassLoader(StandardServer.class.getClassLoader());
+        digester.setUseContextClassLoader(true);
 
         // Configure the actions we will be using
         digester.addObjectCreate("Server",
@@ -395,6 +394,7 @@ public class Catalina {
 
         // Initialize the digester
         Digester digester = new Digester();
+        digester.setUseContextClassLoader(true);
 
         // Configure the rules we need for shutting down
         digester.addObjectCreate("Server",
@@ -424,7 +424,6 @@ public class Catalina {
         if( s == null ) {
             // Create and execute our Digester
             Digester digester = createStopDigester();
-            digester.setClassLoader(Thread.currentThread().getContextClassLoader());
             File file = configFile();
             FileInputStream fis = null;
             try {



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org