remm 02/02/12 10:01:49 Modified: catalina/src/share/org/apache/catalina/loader Tag: tomcat_40_branch WebappClassLoader.java Log: - Enhance the trigger mechanism to match the exact package names. The mechanism included in 4.0.2 appears to be causing some problems in some valid situations (for example, in extension packages with DOM, used by Cocoon 2). Revision Changes Path No revision No revision 1.15.2.10 +20 -30 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java Index: WebappClassLoader.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java,v retrieving revision 1.15.2.9 retrieving revision 1.15.2.10 diff -u -r1.15.2.9 -r1.15.2.10 --- WebappClassLoader.java 7 Feb 2002 19:20:35 -0000 1.15.2.9 +++ WebappClassLoader.java 12 Feb 2002 18:01:49 -0000 1.15.2.10 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java,v 1.15.2.9 2002/02/07 19:20:35 remm Exp $ - * $Revision: 1.15.2.9 $ - * $Date: 2002/02/07 19:20:35 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java,v 1.15.2.10 2002/02/12 18:01:49 remm Exp $ + * $Revision: 1.15.2.10 $ + * $Date: 2002/02/12 18:01:49 $ * * ==================================================================== * @@ -122,7 +122,7 @@ * * @author Remy Maucherat * @author Craig R. McClanahan - * @version $Revision: 1.15.2.9 $ $Date: 2002/02/07 19:20:35 $ + * @version $Revision: 1.15.2.10 $ $Date: 2002/02/12 18:01:49 $ */ public class WebappClassLoader extends URLClassLoader @@ -165,27 +165,27 @@ //"javax.security.cert.X509Certificate", // JSSE added in 1.4 //"javax.sql.DataSource", // JDBC ext. added in 1.4 //"javax.xml.parsers.DocumentBuilder", // JAXP added in 1.4 - "javax.servlet.Servlet", // Servlet API + "javax.servlet.Servlet" // Servlet API // "org.apache.crimson.jaxp.DocumentBuilderImpl", // Crimson added in 1.4 }; /** - * The set of trigger classes that will cause a proposed repository not - * to be added if this class is visible to the class loader that loaded - * this factory class. Typically, trigger classes will be listed for - * components that have been integrated into the JDK for later versions, - * but where the corresponding JAR files are required to run on - * earlier versions. + * Set of package names which are not allowed to be loaded from a webapp + * class loader. */ - private static final String[] classTriggers = { - "javax.net.", // JSSE added in 1.4 - "javax.security.cert.", // JSSE added in 1.4 - "javax.naming.", // JNDI added in 1.3 - "javax.xml.", // JAXP added in 1.4 - "org.xml.sax.", - "org.w3c.dom." + private static final String[] packageTriggers = { + "javax.net", // JSSE added in 1.4 + "javax.net.ssl", // JSSE added in 1.4 + "javax.security.cert", // JSSE added in 1.4 + "javax.naming", // JNDI added in 1.3 + "javax.naming.directory", // JNDI added in 1.3 + "javax.xml.parsers", // JAXP added in 1.4 + "org.xml.sax", + "org.xml.sax.ext", + "org.xml.sax.helpers", + "org.w3c.dom" }; @@ -1911,7 +1911,6 @@ return false; // Looking up the package - /* String packageName = null; int pos = name.lastIndexOf('.'); if (pos != -1) @@ -1919,17 +1918,8 @@ else return true; - if (packageName.equals("javax.servlet")) - return false; - if (packageName.equals("javax.servlet.http")) - return false; - if (packageName.equals("javax.servlet.jsp")) - return false; - if (packageName.equals("javax.servlet.jsp.tagext")) - return false; - */ - for (int i = 0; i < classTriggers.length; i++) { - if (name.startsWith(classTriggers[i])) + for (int i = 0; i < packageTriggers.length; i++) { + if (packageName.equals(packageTriggers[i])) return false; }
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>