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/20 15:53:28 UTC
svn commit: r1051135 - in /incubator/aries/trunk/application:
application-api/src/main/java/org/apache/aries/application/management/spi/framework/
application-runtime-framework-management/src/main/java/org/apache/aries/application/runtime/framework/man...
Author: cumminsh
Date: Mon Dec 20 14:53:28 2010
New Revision: 1051135
URL: http://svn.apache.org/viewvc?rev=1051135&view=rev
Log:
ARIES-518: Allow frameworks to be started independently of their associated composite bundle, tidying in the bundle framework manager.
Modified:
incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/management/spi/framework/BundleFramework.java
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-management/src/main/java/org/apache/aries/application/runtime/framework/management/SharedBundleFramework.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-api/src/main/java/org/apache/aries/application/management/spi/framework/BundleFramework.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/management/spi/framework/BundleFramework.java?rev=1051135&r1=1051134&r2=1051135&view=diff
==============================================================================
--- incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/management/spi/framework/BundleFramework.java (original)
+++ incubator/aries/trunk/application/application-api/src/main/java/org/apache/aries/application/management/spi/framework/BundleFramework.java Mon Dec 20 14:53:28 2010
@@ -32,11 +32,17 @@ public interface BundleFramework
public static final String SHARED_BUNDLE_FRAMEWORK = "shared.bundle.framework";
/**
- * Initialises the framework
+ * Initialises the framework (but does not start the framework bundle)
* @throws BundleException
*/
public void init() throws BundleException;
-
+
+ /**
+ * Starts the framework and the framework bundle
+ * @throws BundleException
+ */
+ public void start() throws BundleException;
+
/**
* Closes the framework and any associated resource
* @throws BundleException
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=1051135&r1=1051134&r2=1051135&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 20 14:53:28 2010
@@ -159,14 +159,8 @@ public class BundleFrameworkManagerImpl
// We should now have a bundleFramework
if (bundleFramework != null) {
- boolean frameworkStarted = false;
- try {
- // Start the empty framework bundle
- bundleFramework.init();
- frameworkStarted = true;
- } catch (BundleException e) {
- // This may fail if the framework bundle has exports but we will retry later
- }
+ // Start the empty framework (but not the bundle)
+ bundleFramework.init();
/**
* Install the bundles into the new framework
@@ -180,8 +174,7 @@ public class BundleFrameworkManagerImpl
}
// Finally, start the whole lot
- if (!frameworkStarted)
- bundleFramework.init();
+ bundleFramework.start();
}
LOGGER.debug(LOG_EXIT, "isolatedInstall", bundleFramework);
Modified: incubator/aries/trunk/application/application-runtime-framework-management/src/main/java/org/apache/aries/application/runtime/framework/management/SharedBundleFramework.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/SharedBundleFramework.java?rev=1051135&r1=1051134&r2=1051135&view=diff
==============================================================================
--- incubator/aries/trunk/application/application-runtime-framework-management/src/main/java/org/apache/aries/application/runtime/framework/management/SharedBundleFramework.java (original)
+++ incubator/aries/trunk/application/application-runtime-framework-management/src/main/java/org/apache/aries/application/runtime/framework/management/SharedBundleFramework.java Mon Dec 20 14:53:28 2010
@@ -75,7 +75,7 @@ public class SharedBundleFramework
sharedFramework = bundleFrameworkFactory.createBundleFramework(bc, config);
- sharedFramework.init();
+ sharedFramework.start();
} catch (BundleException e) {
LOGGER.debug(LOG_EXIT, "createSharedBundleFramework", e);
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=1051135&r1=1051134&r2=1051135&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 20 14:53:28 2010
@@ -53,16 +53,23 @@ public class BundleFrameworkImpl impleme
_bundles = new ArrayList<Bundle>();
}
+ @Override
public void init() throws BundleException
{
if (_compositeBundle.getCompositeFramework().getState() != Framework.ACTIVE)
{
- _compositeBundle.start(Bundle.START_ACTIVATION_POLICY);
-
- _packageAdminTracker = new ServiceTracker(_compositeBundle.getCompositeFramework().getBundleContext(),
- PackageAdmin.class.getName(), null);
- _packageAdminTracker.open();
- }
+ _compositeBundle.getCompositeFramework().start();
+ _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);
}
public void close() throws BundleException