You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2009/03/24 14:25:47 UTC
svn commit: r757790 -
/camel/trunk/components/camel-osgi/src/main/java/org/apache/camel/osgi/OsgiPackageScanClassResolver.java
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);
}