Author: antelder
Date: Tue Oct 30 09:56:06 2007
New Revision: 590149
URL: http://svn.apache.org/viewvc?rev=590149&view=rev
Log:
Restore ability to hot deploy contributions to a running node
Modified:
incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCANodeImpl.java
Modified:
incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCANodeImpl.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCANodeImpl.java?rev=590149&r1=590148&r2=590149&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCANodeImpl.java
(original)
+++
incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCANodeImpl.java
Tue Oct 30 09:56:06 2007
@@ -38,6 +38,7 @@
import org.apache.tuscany.sca.assembly.ComponentService;
import org.apache.tuscany.sca.assembly.Composite;
import org.apache.tuscany.sca.assembly.Service;
+import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException;
import org.apache.tuscany.sca.assembly.xml.Constants;
import org.apache.tuscany.sca.contribution.Contribution;
import org.apache.tuscany.sca.contribution.DeployedArtifact;
@@ -314,7 +315,22 @@
throw new NodeException(ex);
}
}
-
+
+ public void startContribution(String contributionURI) throws NodeException
{
+ try {
+
+ Contribution contribution = contributions.get(contributionURI);
+ for (Composite composite : contribution.getDeployables()) {
+ startComposite(composite);
+ }
+
+ } catch (ActivationException e) {
+ throw new NodeException(e);
+ } catch (CompositeBuilderException e) {
+ throw new NodeException(e);
+ }
+ }
+
public void removeContribution(String contributionURI) throws
NodeException {
try {
Contribution contribution = contributions.get(contributionURI);
@@ -454,17 +470,7 @@
if (composite == null) {
logger.log(Level.INFO, "Composite not found during
start: " + compositeName);
} else {
- logger.log(Level.INFO, "Starting composite: " +
compositeName);
-
- // Add the composite to the top level domain
- nodeComposite.getIncludes().add(composite);
- nodeRuntime.getCompositeBuilder().build(composite);
-
- // activate the composite
-
nodeRuntime.getCompositeActivator().activate(composite);
-
- //start the composite
- nodeRuntime.getCompositeActivator().start(composite);
+ startComposite(composite);
}
}
}
@@ -472,6 +478,20 @@
} catch (Exception ex) {
throw new NodeException(ex);
}
+ }
+
+ private void startComposite(Composite composite) throws
CompositeBuilderException, ActivationException {
+ logger.log(Level.INFO, "Starting composite: " + composite.getName());
+
+ // Add the composite to the top level domain
+ nodeComposite.getIncludes().add(composite);
+ nodeRuntime.getCompositeBuilder().build(composite);
+
+ // activate the composite
+ nodeRuntime.getCompositeActivator().activate(composite);
+
+ //start the composite
+ nodeRuntime.getCompositeActivator().start(composite);
}
private void stopComposites() throws NodeException {
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]