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);
}