Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=49240
authormarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Tue, 11 May 2010 09:46:42 +0000 (09:46 +0000)
committermarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Tue, 11 May 2010 09:46:42 +0000 (09:46 +0000)
If a class can't be loaded, don't scan HandlesTypes for it
Also handle NoClassDefFoundError
Patch provided by pid

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@943065 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/catalina/startup/ContextConfig.java

index af9ecf1..912825c 100644 (file)
@@ -1871,11 +1871,15 @@ public class ContextConfig
         
         Class<?> clazz = null;
         try {
-            clazz = Class.forName(className, true,
-                    context.getLoader().getClassLoader());
+            clazz = context.getLoader().getClassLoader().loadClass(className);
+        } catch (NoClassDefFoundError e) {
+            log.debug(sm.getString("contextConfig.invalidSciHandlesTypes",
+                    className), e);
+            return;
         } catch (ClassNotFoundException e) {
             log.warn(sm.getString("contextConfig.invalidSciHandlesTypes",
                     className), e);
+            return;
         }
 
         for (Map.Entry<Class<?>, Set<ServletContainerInitializer>> entry :