remm 02/02/12 09:59:57
Modified: catalina/src/share/org/apache/catalina/loader
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.
Revision Changes Path
1.34 +20 -36
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.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- WebappClassLoader.java 2 Feb 2002 12:57:43 -0000 1.33
+++ WebappClassLoader.java 12 Feb 2002 17:59:57 -0000 1.34
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java,v
1.33 2002/02/02 12:57:43 remm Exp $
- * $Revision: 1.33 $
- * $Date: 2002/02/02 12:57:43 $
+ * $Header:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/loader/WebappClassLoader.java,v
1.34 2002/02/12 17:59:57 remm Exp $
+ * $Revision: 1.34 $
+ * $Date: 2002/02/12 17:59:57 $
*
* ====================================================================
*
@@ -122,7 +122,7 @@
*
* @author Remy Maucherat
* @author Craig R. McClanahan
- * @version $Revision: 1.33 $ $Date: 2002/02/02 12:57:43 $
+ * @version $Revision: 1.34 $ $Date: 2002/02/12 17:59:57 $
*/
public class WebappClassLoader
extends URLClassLoader
@@ -161,31 +161,25 @@
"com.sun.jndi.ldap.LdapCtxFactory", // LDAP added in 1.3
"com.sun.net.ssl.internal.ssl.Provider", // JSSE added in 1.4
"javax.security.auth.Subject", // JAAS added in 1.4
- //"javax.net.SocketFactory", // JSSE added in 1.4
- //"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
- // "org.apache.crimson.jaxp.DocumentBuilderImpl",
- // Crimson added in 1.4
+ "javax.servlet.Servlet" // Servlet API
};
/**
- * 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 +1905,6 @@
return false;
// Looking up the package
- /*
String packageName = null;
int pos = name.lastIndexOf('.');
if (pos != -1)
@@ -1919,17 +1912,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]>