Author: markt Date: Thu Apr 6 11:01:42 2017 New Revision: 1790376 URL: http://svn.apache.org/viewvc?rev=1790376&view=rev Log: Pre-load the ExceptionUtils class. Since the class is used extensively in error handling, it is prudent to pre-load it to avoid any failure to load this class masking the true problem during error handling.
Modified: tomcat/trunk/java/org/apache/catalina/startup/Catalina.java tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java tomcat/trunk/java/org/apache/tomcat/util/ExceptionUtils.java tomcat/trunk/webapps/docs/changelog.xml 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=1790376&r1=1790375&r2=1790376&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/startup/Catalina.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/Catalina.java Thu Apr 6 11:01:42 2017 @@ -125,6 +125,7 @@ public class Catalina { public Catalina() { setSecurityProtection(); + ExceptionUtils.preload(); } Modified: tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java?rev=1790376&r1=1790375&r2=1790376&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java Thu Apr 6 11:01:42 2017 @@ -61,6 +61,7 @@ import org.apache.catalina.core.Standard import org.apache.catalina.core.StandardWrapper; import org.apache.catalina.realm.GenericPrincipal; import org.apache.catalina.realm.RealmBase; +import org.apache.tomcat.util.ExceptionUtils; import org.apache.tomcat.util.buf.UriUtil; import org.apache.tomcat.util.descriptor.web.LoginConfig; @@ -144,7 +145,7 @@ public class Tomcat { private final Map<String, Principal> userPrincipals = new HashMap<>(); public Tomcat() { - // NOOP + ExceptionUtils.preload(); } /** Modified: tomcat/trunk/java/org/apache/tomcat/util/ExceptionUtils.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/ExceptionUtils.java?rev=1790376&r1=1790375&r2=1790376&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/ExceptionUtils.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/ExceptionUtils.java Thu Apr 6 11:01:42 2017 @@ -57,4 +57,15 @@ public class ExceptionUtils { } return t; } + + + /** + * NO-OP method provided to enable simple pre-loading of this class. Since + * the class is used extensively in error handling, it is prudent to + * pre-load it to avoid any failure to load this class masking the true + * problem during error handling. + */ + public static void preload() { + // NO-OP + } } Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1790376&r1=1790375&r2=1790376&view=diff ============================================================================== --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Thu Apr 6 11:01:42 2017 @@ -70,6 +70,12 @@ <code>/WEB-INF/lib</code> when running a web application from a packed WAR file. (markt) </fix> + <fix> + Pre-load the <code>ExceptionUtils</code> class. Since the class is used + extensively in error handling, it is prudent to pre-load it to avoid any + failure to load this class masking the true problem during error + handling. (markt) + </fix> </changelog> </subsection> <subsection name="Jasper"> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org