diff options
author | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2009-10-20 07:32:11 +0000 |
---|---|---|
committer | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2009-10-20 07:32:11 +0000 |
commit | 57d405aff0976a8cfd169068aed2e77f57b2c66c (patch) | |
tree | 2bfbf51f427eeb05ffa5fcd4d6367d3b0342212c /java/sca/modules/implementation-java-runtime/src | |
parent | cf75948877439a6c842521ab2fa3c1d973d8e7ac (diff) |
Call destroy if there's an exception while running an injector to fix CAA test JCA_4003
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@826981 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca/modules/implementation-java-runtime/src')
-rw-r--r-- | java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/context/ReflectiveInstanceFactory.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/context/ReflectiveInstanceFactory.java b/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/context/ReflectiveInstanceFactory.java index 73b7990a79..ba71abd826 100644 --- a/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/context/ReflectiveInstanceFactory.java +++ b/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/context/ReflectiveInstanceFactory.java @@ -77,7 +77,12 @@ public class ReflectiveInstanceFactory<T> implements InstanceFactory<T> { for (Injector<T> injector : injectors) { //FIXME Injectors should never be null if (injector != null) - injector.inject(instance); + try { + injector.inject(instance); + } catch (Exception e) { + destroyInvoker.invokeEvent(instance); + throw new ObjectCreationException("Exception invoking injector", e); + } } } |