Use standard approach for pre-loading classes
authormarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Tue, 22 Mar 2011 09:42:29 +0000 (09:42 +0000)
committermarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Tue, 22 Mar 2011 09:42:29 +0000 (09:42 +0000)
git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1084115 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/catalina/connector/Request.java
java/org/apache/catalina/security/SecurityClassLoad.java

index de009b5..debd45f 100644 (file)
@@ -81,7 +81,6 @@ import org.apache.tomcat.util.ExceptionUtils;
 import org.apache.tomcat.util.buf.B2CConverter;
 import org.apache.tomcat.util.buf.ByteChunk;
 import org.apache.tomcat.util.buf.MessageBytes;
-import org.apache.tomcat.util.buf.StringCache;
 import org.apache.tomcat.util.http.Cookies;
 import org.apache.tomcat.util.http.FastHttpDateFormat;
 import org.apache.tomcat.util.http.Parameters;
@@ -112,12 +111,6 @@ public class Request
     // ----------------------------------------------------------- Constructors
 
 
-    static {
-        // Ensure that classes are loaded for SM
-        new StringCache.ByteEntry();
-        new StringCache.CharEntry();
-    }
-
     public Request() {
 
         formats[0].setTimeZone(GMT_ZONE);
index 7b6ced6..62251c6 100644 (file)
@@ -238,6 +238,10 @@ public final class SecurityClassLoad {
     private static final void loadTomcatPackage(ClassLoader loader)
         throws Exception {
         final String basePackage = "org.apache.tomcat.";
+        loader.loadClass(basePackage + "util.buf.StringCache");
+        loader.loadClass(basePackage + "util.buf.StringCache$ByteEntry");
+        loader.loadClass(basePackage + "util.buf.StringCache$CharEntry");
+        loader.loadClass(basePackage + "util.http.HttpMessages");
         // Make sure system property is read at this point
         Class<?> clazz = loader.loadClass(
                 basePackage + "util.http.FastHttpDateFormat");