Author: ningjiang
Date: Wed Aug 10 11:24:46 2011
New Revision: 1156108

URL: http://svn.apache.org/viewvc?rev=1156108&view=rev
Log:
CAMEL-4322 Fixed the issue of AnnotationTypeConverterLoader doesn't try all the 
classloaders to load the converter class

Modified:
    
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java?rev=1156108&r1=1156107&r2=1156108&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
 Wed Aug 10 11:24:46 2011
@@ -161,18 +161,22 @@ public class AnnotationTypeConverterLoad
         for (String name : packageNames) {
             // must be a FQN class name by having an upper case letter
             if (StringHelper.hasUpperCase(name)) {
+                Class<?> clazz = null;
                 for (ClassLoader loader : resolver.getClassLoaders()) {
                     try {
-                        Class<?> clazz = loader.loadClass(name);
+                        clazz = loader.loadClass(name);
                         LOG.trace("Loaded {} as class {}", name, clazz);
                         classes.add(clazz);
                         // class founder, so no need to load it with another 
class loader
                         break;
                     } catch (Throwable e) {
-                        // ignore as its not a class (will be package scan 
afterwards)
-                        packages.add(name);
+                        // do nothing here
                     }
                 }
+                if (clazz == null) {
+                    // ignore as its not a class (will be package scan 
afterwards)
+                    packages.add(name);
+                }
             } else {
                 // ignore as its not a class (will be package scan afterwards)
                 packages.add(name);


Reply via email to