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 2014/08/14 21:40:28 UTC
svn commit: r1618028 -
/tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java
Author: markt
Date: Thu Aug 14 19:40:28 2014
New Revision: 1618028
URL: http://svn.apache.org/r1618028
Log:
Don't use exceptions for flow control - especially in the class loader. This would slow things down in the case of external repositories.
Modified:
tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java
Modified: tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java?rev=1618028&r1=1618027&r2=1618028&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java (original)
+++ tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java Thu Aug 14 19:40:28 2014
@@ -878,10 +878,6 @@ public class WebappClassLoader extends U
log.trace(" findClassInternal(" + name + ")");
try {
clazz = findClassInternal(name);
- } catch(ClassNotFoundException cnfe) {
- if (!hasExternalRepositories) {
- throw cnfe;
- }
} catch(AccessControlException ace) {
log.warn("WebappClassLoader.findClassInternal(" + name
+ ") security exception: " + ace.getMessage(), ace);
@@ -2396,11 +2392,11 @@ public class WebappClassLoader extends U
*
* @return the loaded class, or null if the class isn't found
*/
- protected Class<?> findClassInternal(String name)
- throws ClassNotFoundException {
+ protected Class<?> findClassInternal(String name) {
- if (!validate(name))
- throw new ClassNotFoundException(name);
+ if (!validate(name)) {
+ return null;
+ }
String path = binaryNameToPath(name, true);
@@ -2414,8 +2410,9 @@ public class WebappClassLoader extends U
entry = findResourceInternal(name, path);
}
- if (entry == null)
- throw new ClassNotFoundException(name);
+ if (entry == null) {
+ return null;
+ }
Class<?> clazz = entry.loadedClass;
if (clazz != null)
@@ -2426,8 +2423,9 @@ public class WebappClassLoader extends U
if (clazz != null)
return clazz;
- if (entry.binaryContent == null)
- throw new ClassNotFoundException(name);
+ if (entry.binaryContent == null) {
+ return null;
+ }
// Looking up the package
String packageName = null;
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org