diff options
Diffstat (limited to 'sca-java-1.x/trunk/modules/core/src')
2 files changed, 43 insertions, 8 deletions
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); + } + } } diff --git a/sca-java-1.x/trunk/modules/core/src/main/resources/core-messages.properties b/sca-java-1.x/trunk/modules/core/src/main/resources/core-messages.properties new file mode 100644 index 0000000000..5b92c78a08 --- /dev/null +++ b/sca-java-1.x/trunk/modules/core/src/main/resources/core-messages.properties @@ -0,0 +1,22 @@ +# +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +# +StopException = Exception during stop processing: {0} + |