summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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;
}