[jboss-osgi-commits] JBoss-OSGI SVN: r93538 - projects/jboss-osgi/projects/bundles/common/trunk/src/main/java/org/jboss/osgi/common/internal.

jboss-osgi-commits at lists.jboss.org jboss-osgi-commits at lists.jboss.org
Tue Sep 15 10:36:06 EDT 2009


Author: thomas.diesler at jboss.com
Date: 2009-09-15 10:36:06 -0400 (Tue, 15 Sep 2009)
New Revision: 93538

Modified:
   projects/jboss-osgi/projects/bundles/common/trunk/src/main/java/org/jboss/osgi/common/internal/SystemDeployerService.java
Log:
Only resolve bundles that are marked as autoStart

Modified: projects/jboss-osgi/projects/bundles/common/trunk/src/main/java/org/jboss/osgi/common/internal/SystemDeployerService.java
===================================================================
--- projects/jboss-osgi/projects/bundles/common/trunk/src/main/java/org/jboss/osgi/common/internal/SystemDeployerService.java	2009-09-15 14:34:53 UTC (rev 93537)
+++ projects/jboss-osgi/projects/bundles/common/trunk/src/main/java/org/jboss/osgi/common/internal/SystemDeployerService.java	2009-09-15 14:36:06 UTC (rev 93538)
@@ -24,7 +24,9 @@
 //$Id$
 
 import java.net.URL;
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 
@@ -68,7 +70,9 @@
    {
       DeploymentRegistryService registry = getDeploymentRegistry();
 
+      List<Bundle> resolvableBundles = new ArrayList<Bundle>();
       Map<BundleDeployment, Bundle> bundleMap = new HashMap<BundleDeployment, Bundle>();
+      
       for (BundleDeployment dep : depArr)
       {
          try
@@ -78,7 +82,10 @@
             log.log(LogService.LOG_INFO, "Installed: " + bundle);
 
             registerManagedBundle(bundle);
+            
             bundleMap.put(dep, bundle);
+            if (dep.isAutoStart())
+               resolvableBundles.add(bundle);
 
             registry.registerBundleDeployment(dep);
          }
@@ -90,10 +97,12 @@
 
       // Resolve the installed bundles through the PackageAdmin
       ServiceReference packageAdminRef = context.getServiceReference(PackageAdmin.class.getName());
-      if (packageAdminRef != null)
+      if (packageAdminRef != null && resolvableBundles.isEmpty() == false)
       {
          PackageAdmin packageAdmin = (PackageAdmin)context.getService(packageAdminRef);
-         packageAdmin.resolveBundles(null);
+         Bundle[] resolvableBundleArr = new Bundle[resolvableBundles.size()];
+         resolvableBundles.toArray(resolvableBundleArr);
+         packageAdmin.resolveBundles(resolvableBundleArr);
       }
       
       // Start the installed bundles



More information about the jboss-osgi-commits mailing list