From 9ad8f390696d3aaa7273b2442abf878270c3ae61 Mon Sep 17 00:00:00 2001 From: antelder Date: Mon, 21 Feb 2011 13:51:58 +0000 Subject: TUSCANY-3834: Update so that exceptions during stop processing use the Monitor to log the exception git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1072965 13f79535-47bb-0310-9956-ffa450edef68 --- .../sca/core/assembly/CompositeActivatorImpl.java | 29 ++++++++++++++++------ 1 file changed, 21 insertions(+), 8 deletions(-) (limited to 'sca-java-1.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/CompositeActivatorImpl.java') diff --git a/sca-java-1.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/CompositeActivatorImpl.java b/sca-java-1.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/CompositeActivatorImpl.java index af3e6061a8..3f79a231ed 100644 --- a/sca-java-1.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/CompositeActivatorImpl.java +++ b/sca-java-1.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/CompositeActivatorImpl.java @@ -57,6 +57,10 @@ import org.apache.tuscany.sca.interfacedef.InterfaceContract; import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper; import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; import org.apache.tuscany.sca.invocation.MessageFactory; +import org.apache.tuscany.sca.monitor.Monitor; +import org.apache.tuscany.sca.monitor.Problem; +import org.apache.tuscany.sca.monitor.Problem.Severity; +import org.apache.tuscany.sca.monitor.impl.ProblemImpl; import org.apache.tuscany.sca.provider.BindingProviderFactory; import org.apache.tuscany.sca.provider.ImplementationProvider; import org.apache.tuscany.sca.provider.ImplementationProviderFactory; @@ -93,6 +97,7 @@ public class CompositeActivatorImpl implements CompositeActivator { private final ProxyFactory proxyFactory; private final JavaInterfaceFactory javaInterfaceFactory; private final ConversationManager conversationManager; + private Monitor monitor; private final ComponentContextHelper componentContextHelper; @@ -103,6 +108,7 @@ public class CompositeActivatorImpl implements CompositeActivator { * @param interfaceContractMapper * @param workScheduler * @param conversationManager TODO + * @param monitor * @param workContext * @param wirePostProcessorRegistry */ @@ -119,7 +125,7 @@ public class CompositeActivatorImpl implements CompositeActivator { ProviderFactoryExtensionPoint providerFactories, EndpointResolverFactoryExtensionPoint endpointResolverFactories, StAXArtifactProcessorExtensionPoint processors, - ConversationManager conversationManager) { + ConversationManager conversationManager, Monitor monitor) { this.assemblyFactory = assemblyFactory; this.messageFactory = messageFactory; this.interfaceContractMapper = interfaceContractMapper; @@ -132,6 +138,7 @@ public class CompositeActivatorImpl implements CompositeActivator { this.requestContextFactory = requestContextFactory; this.proxyFactory = proxyFactory; this.conversationManager = conversationManager; + this.monitor = monitor; this.componentContextHelper = new ComponentContextHelper(assemblyFactory, javaInterfaceFactory, processors); } @@ -652,7 +659,7 @@ public class CompositeActivatorImpl implements CompositeActivator { try { stop((Composite)implementation); } catch (Throwable e1) { - logger.log(Level.SEVERE, e1.getMessage(), e1); + error("StopException", implementation, e1); } rethrow(e); } @@ -707,7 +714,7 @@ public class CompositeActivatorImpl implements CompositeActivator { ((ScopeContainer)provider).stop(); } } catch (Throwable e) { - logger.log(Level.SEVERE, e.getMessage(), e); + error("StopException", provider, e); } } } @@ -748,7 +755,7 @@ public class CompositeActivatorImpl implements CompositeActivator { } }); } catch (Throwable ex){ - logger.log(Level.SEVERE, ex.getMessage(), ex); + error("StopException", bindingProvider, ex); } } } @@ -771,7 +778,7 @@ public class CompositeActivatorImpl implements CompositeActivator { } }); } catch (Throwable ex){ - logger.log(Level.SEVERE, ex.getMessage(), ex); + error("StopException", bindingProvider, ex); } } } @@ -788,7 +795,7 @@ public class CompositeActivatorImpl implements CompositeActivator { } }); } catch (Throwable ex){ - logger.log(Level.SEVERE, ex.getMessage(), ex); + error("StopException", endpointResolver, ex); } } } @@ -808,7 +815,7 @@ public class CompositeActivatorImpl implements CompositeActivator { } }); } catch (Throwable ex){ - logger.log(Level.SEVERE, ex.getMessage(), ex); + error("StopException", implementationProvider, ex); } } } @@ -820,7 +827,7 @@ public class CompositeActivatorImpl implements CompositeActivator { try { runtimeComponent.getScopeContainer().stop(); } catch (Throwable ex){ - logger.log(Level.SEVERE, ex.getMessage(), ex); + error("StopException", runtimeComponent, ex); } } } @@ -1175,4 +1182,10 @@ public class CompositeActivatorImpl implements CompositeActivator { return conversationManager; } + private void error(String message, Object model, Throwable e) { + if (monitor != null) { + Problem problem = new ProblemImpl(this.getClass().getName(), "core-messages", Severity.ERROR, model, message, (Exception)e); + monitor.problem(problem); + } + } } -- cgit v1.2.3