You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2011/03/01 01:28:18 UTC
svn commit: r1075598 -
/openejb/trunk/openejb3/container/openejb-osgi-core/src/main/java/org/apache/openejb/osgi/core/BundleFinderFactory.java
Author: dblevins
Date: Tue Mar 1 00:28:18 2011
New Revision: 1075598
URL: http://svn.apache.org/viewvc?rev=1075598&view=rev
Log:
Patch from Shawn Jiang, OPENEJB-1435: Some changes in webapp scanning logic brought some regressions to geronimo.
Might possibly cause JPA issues, but the TCK should tell us for sure
Modified:
openejb/trunk/openejb3/container/openejb-osgi-core/src/main/java/org/apache/openejb/osgi/core/BundleFinderFactory.java
Modified: openejb/trunk/openejb3/container/openejb-osgi-core/src/main/java/org/apache/openejb/osgi/core/BundleFinderFactory.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-osgi-core/src/main/java/org/apache/openejb/osgi/core/BundleFinderFactory.java?rev=1075598&r1=1075597&r2=1075598&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-osgi-core/src/main/java/org/apache/openejb/osgi/core/BundleFinderFactory.java (original)
+++ openejb/trunk/openejb3/container/openejb-osgi-core/src/main/java/org/apache/openejb/osgi/core/BundleFinderFactory.java Tue Mar 1 00:28:18 2011
@@ -35,9 +35,19 @@ public class BundleFinderFactory extends
@Override
public AbstractFinder create(DeploymentModule module) throws Exception {
+
ClassLoader moduleCL = module.getClassLoader();
+
+ while (!(moduleCL instanceof BundleReference)) {
- if (moduleCL instanceof BundleReference) {
+ moduleCL = moduleCL.getParent();
+
+ if (moduleCL == null)
+ break;
+
+ }
+
+ if (moduleCL != null && moduleCL instanceof BundleReference) {
Bundle bundle = ((BundleReference) moduleCL).getBundle();
BundleContext bundleContext = bundle.getBundleContext();
ServiceReference sr = bundleContext.getServiceReference(PackageAdmin.class.getName());