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 2015/04/30 10:34:15 UTC

svn commit: r1676926 - in /tomcat/trunk: java/org/apache/catalina/loader/WebappClassLoaderBase.java webapps/docs/class-loader-howto.xml

Author: markt
Date: Thu Apr 30 08:34:15 2015
New Revision: 1676926

URL: http://svn.apache.org/r1676926
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=57875
Update docs for relaxed approach to SRV.10.7.2 in Tomcat 8 onwards.
Add javax.websocket.* to the list of classes where we always delegate first

Modified:
    tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java
    tomcat/trunk/webapps/docs/class-loader-howto.xml

Modified: tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java?rev=1676926&r1=1676925&r2=1676926&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java (original)
+++ tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java Thu Apr 30 08:34:15 2015
@@ -2793,6 +2793,10 @@ public abstract class WebappClassLoaderB
             // Must never load javax.el.* classes
             return false;
         }
+        if (name.startsWith("javax.websocket")) {
+            // Must never load javax.websocket.* classes
+            return false;
+        }
 
         // Assume everything else is OK
         return true;

Modified: tomcat/trunk/webapps/docs/class-loader-howto.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/class-loader-howto.xml?rev=1676926&r1=1676925&r2=1676926&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/class-loader-howto.xml (original)
+++ tomcat/trunk/webapps/docs/class-loader-howto.xml Thu Apr 30 08:34:15 2015
@@ -181,10 +181,10 @@ part of the JRE base classes cannot be o
 such as the XML parser components which can be overridden using the appropriate
 JVM feature which is the endorsed standards override feature for Java <= 8
 and the upgradeable modules feature for Java 9+.
-Last, any JAR file that contains Servlet API classes will be explicitly
-ignored by the classloader — Do not include such JARs in your web
-application.
-All other class loaders in Tomcat follow the usual delegation pattern.</p>
+Lastly, the web application class loader will always delegate first for JavaEE
+API classes for the specifications implemented by Tomcat
+(Servlet, JSP, EL, WebSocket). All other class loaders in Tomcat follow the
+usual delegation pattern.</p>
 
 <p>Therefore, from the perspective of a web application, class or resource
 loading looks in the following repositories, in this order:</p>



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