Author: ningjiang
Date: Tue Mar 24 13:25:47 2009
New Revision: 757790

URL: http://svn.apache.org/viewvc?rev=757790&view=rev
Log:
CAMEL-1481 OsgiPackageScanClassResolver should use the regular classloader if 
the osgi bundle classloader can't find any class

Modified:
    
camel/trunk/components/camel-osgi/src/main/java/org/apache/camel/osgi/OsgiPackageScanClassResolver.java

Modified: 
camel/trunk/components/camel-osgi/src/main/java/org/apache/camel/osgi/OsgiPackageScanClassResolver.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-osgi/src/main/java/org/apache/camel/osgi/OsgiPackageScanClassResolver.java?rev=757790&r1=757789&r2=757790&view=diff
==============================================================================
--- 
camel/trunk/components/camel-osgi/src/main/java/org/apache/camel/osgi/OsgiPackageScanClassResolver.java
 (original)
+++ 
camel/trunk/components/camel-osgi/src/main/java/org/apache/camel/osgi/OsgiPackageScanClassResolver.java
 Tue Mar 24 13:25:47 2009
@@ -49,12 +49,15 @@
         ClassLoader osgiClassLoader = getOsgiClassLoader(set);
 
         if (osgiClassLoader != null) {
-            // if we have an osgi bundle loader use this one only
+            // if we have an osgi bundle loader use this one first
             LOG.debug("Using only osgi bundle classloader");
             findInOsgiClassLoader(test, packageName, osgiClassLoader, classes);
-        } else {
+        }
+        
+        if (classes.size() == 0) {
+            // Using the regular classloaders as a fallback
             LOG.debug("Using only regular classloaders");
-            for (ClassLoader classLoader : set) {
+            for (ClassLoader classLoader : set.toArray(new 
ClassLoader[set.size()])) {
                 if (!isOsgiClassloader(classLoader)) {
                     find(test, packageName, classLoader, classes);
                 }


Reply via email to