diff options
-rw-r--r-- | java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/impl/CompositeScopeContainer.java | 9 |
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; } |