You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by cu...@apache.org on 2010/12/27 20:09:42 UTC
svn commit: r1053144 - in /incubator/aries/trunk/application:
application-runtime-framework-management/src/main/java/org/apache/aries/application/runtime/framework/management/
application-runtime-framework/src/main/java/org/apache/aries/application/run...
Author: cumminsh
Date: Mon Dec 27 19:09:42 2010
New Revision: 1053144
URL: http://svn.apache.org/viewvc?rev=1053144&view=rev
Log:
ARIES-518: Tweaks to composite bundle start sequence.
Modified:
incubator/aries/trunk/application/application-runtime-framework-management/src/main/java/org/apache/aries/application/runtime/framework/management/BundleFrameworkManagerImpl.java
incubator/aries/trunk/application/application-runtime-framework/src/main/java/org/apache/aries/application/runtime/framework/BundleFrameworkImpl.java
Modified: incubator/aries/trunk/application/application-runtime-framework-management/src/main/java/org/apache/aries/application/runtime/framework/management/BundleFrameworkManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-runtime-framework-management/src/main/java/org/apache/aries/application/runtime/framework/management/BundleFrameworkManagerImpl.java?rev=1053144&r1=1053143&r2=1053144&view=diff
==============================================================================
--- incubator/aries/trunk/application/application-runtime-framework-management/src/main/java/org/apache/aries/application/runtime/framework/management/BundleFrameworkManagerImpl.java (original)
+++ incubator/aries/trunk/application/application-runtime-framework-management/src/main/java/org/apache/aries/application/runtime/framework/management/BundleFrameworkManagerImpl.java Mon Dec 27 19:09:42 2010
@@ -159,8 +159,14 @@ public class BundleFrameworkManagerImpl
// We should now have a bundleFramework
if (bundleFramework != null) {
- // Start the empty framework (but not the bundle)
- bundleFramework.init();
+ boolean frameworkStarted = false;
+ try {
+ // Start the empty framework bundle
+ bundleFramework.start();
+ frameworkStarted = true;
+ } catch (BundleException e) {
+ // This may fail if the framework bundle has exports but we will retry later
+ }
/**
* Install the bundles into the new framework
@@ -174,7 +180,8 @@ public class BundleFrameworkManagerImpl
}
// Finally, start the whole lot
- bundleFramework.start();
+ if (!frameworkStarted)
+ bundleFramework.start();
}
LOGGER.debug(LOG_EXIT, "isolatedInstall", bundleFramework);
@@ -307,3 +314,4 @@ public class BundleFrameworkManagerImpl
}
}
+
Modified: incubator/aries/trunk/application/application-runtime-framework/src/main/java/org/apache/aries/application/runtime/framework/BundleFrameworkImpl.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-runtime-framework/src/main/java/org/apache/aries/application/runtime/framework/BundleFrameworkImpl.java?rev=1053144&r1=1053143&r2=1053144&view=diff
==============================================================================
--- incubator/aries/trunk/application/application-runtime-framework/src/main/java/org/apache/aries/application/runtime/framework/BundleFrameworkImpl.java (original)
+++ incubator/aries/trunk/application/application-runtime-framework/src/main/java/org/apache/aries/application/runtime/framework/BundleFrameworkImpl.java Mon Dec 27 19:09:42 2010
@@ -56,20 +56,27 @@ public class BundleFrameworkImpl impleme
@Override
public void init() throws BundleException
{
- if (_compositeBundle.getCompositeFramework().getState() != Framework.ACTIVE)
- {
- _compositeBundle.getCompositeFramework().start();
- _packageAdminTracker = new ServiceTracker(_compositeBundle.getCompositeFramework().getBundleContext(),
- PackageAdmin.class.getName(), null);
- _packageAdminTracker.open();
- }
+ _compositeBundle.start(Bundle.START_ACTIVATION_POLICY);
+ if ( _packageAdminTracker == null)
+ {
+ _packageAdminTracker = new ServiceTracker(_compositeBundle.getCompositeFramework().getBundleContext(),
+ PackageAdmin.class.getName(), null);
+ _packageAdminTracker.open();
}
-
+
+ }
+
@Override
public void start() throws BundleException
{
- init();
- _compositeBundle.start(Bundle.START_ACTIVATION_POLICY);
+ if (_compositeBundle.getCompositeFramework().getState() != Framework.ACTIVE)
+ {
+ _compositeBundle.getCompositeFramework().start();
+
+ _packageAdminTracker = new ServiceTracker(_compositeBundle.getCompositeFramework().getBundleContext(),
+ PackageAdmin.class.getName(), null);
+ _packageAdminTracker.open();
+ }
}
public void close() throws BundleException
@@ -158,3 +165,4 @@ public class BundleFrameworkImpl impleme
_bundles.remove(b);
}
}
+