summaryrefslogtreecommitdiffstats
path: root/java/sca/modules/core/src/main/java/org/apache
diff options
context:
space:
mode:
authorantelder <antelder@13f79535-47bb-0310-9956-ffa450edef68>2009-10-19 11:10:29 +0000
committerantelder <antelder@13f79535-47bb-0310-9956-ffa450edef68>2009-10-19 11:10:29 +0000
commitff406307a7e4c0dde1b73c34edbf4eb35d441e75 (patch)
tree7ac6d8bcb00fc9cf342123e589677df61f49c5fd /java/sca/modules/core/src/main/java/org/apache
parent1b28590acc6599e8d6774d3a5f582200ecb9abe7 (diff)
Catch any exception during starting of a component and rethrow as ServiceUnavailableException
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@826637 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca/modules/core/src/main/java/org/apache')
-rw-r--r--java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/impl/CompositeScopeContainer.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/impl/CompositeScopeContainer.java b/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/impl/CompositeScopeContainer.java
index 6763c8117d..730f92e0f9 100644
--- a/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/impl/CompositeScopeContainer.java
+++ b/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/impl/CompositeScopeContainer.java
@@ -25,6 +25,7 @@ import org.apache.tuscany.sca.core.scope.TargetDestructionException;
import org.apache.tuscany.sca.core.scope.TargetNotFoundException;
import org.apache.tuscany.sca.core.scope.TargetResolutionException;
import org.apache.tuscany.sca.runtime.RuntimeComponent;
+import org.oasisopen.sca.ServiceUnavailableException;
/**
* A scope context which manages atomic component instances keyed by composite
@@ -54,8 +55,12 @@ public class CompositeScopeContainer<KEY> extends AbstractScopeContainer<KEY> {
@Override
public synchronized InstanceWrapper getWrapper(KEY contextId) throws TargetResolutionException {
if (wrapper == null) {
- wrapper = createInstanceWrapper();
- wrapper.start();
+ try {
+ wrapper = createInstanceWrapper();
+ wrapper.start();
+ } catch (Exception e) {
+ throw new ServiceUnavailableException(e);
+ }
}
return wrapper;
}