summaryrefslogtreecommitdiffstats
path: root/sca-java-1.x
diff options
context:
space:
mode:
authorantelder <antelder@13f79535-47bb-0310-9956-ffa450edef68>2011-02-21 13:51:58 +0000
committerantelder <antelder@13f79535-47bb-0310-9956-ffa450edef68>2011-02-21 13:51:58 +0000
commit9ad8f390696d3aaa7273b2442abf878270c3ae61 (patch)
tree74b0be3e184ed4be8feaa614e22a54f072caf8e2 /sca-java-1.x
parenta24d6e044cdcf39d7a5045623e4eed78968b8c64 (diff)
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
Diffstat (limited to 'sca-java-1.x')
-rw-r--r--sca-java-1.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/CompositeActivatorImpl.java29
-rw-r--r--sca-java-1.x/trunk/modules/core/src/main/resources/core-messages.properties22
-rw-r--r--sca-java-1.x/trunk/modules/host-android/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java6
-rw-r--r--sca-java-1.x/trunk/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java6
-rw-r--r--sca-java-1.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/RuntimeBuilder.java6
5 files changed, 58 insertions, 11 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}
+
diff --git a/sca-java-1.x/trunk/modules/host-android/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java b/sca-java-1.x/trunk/modules/host-android/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java
index 1111558c60..afe3482d4d 100644
--- a/sca-java-1.x/trunk/modules/host-android/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java
+++ b/sca-java-1.x/trunk/modules/host-android/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java
@@ -81,6 +81,7 @@ 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.MonitorFactory;
import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory;
import org.apache.tuscany.sca.policy.PolicyFactory;
import org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint;
@@ -130,11 +131,14 @@ public class ReallySmallRuntimeBuilder {
UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
ConversationManager conversationManager = utilities.getUtility(ConversationManager.class);
+ MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+
// Create the composite activator
CompositeActivator compositeActivator =
new CompositeActivatorImpl(assemblyFactory, messageFactory, javaInterfaceFactory, scaBindingFactory,
mapper, scopeRegistry, workScheduler, wireProcessor, requestContextFactory,
- proxyFactory, providerFactories, endpointResolverFactories, processors, conversationManager);
+ proxyFactory, providerFactories, endpointResolverFactories, processors, conversationManager, monitor);
return compositeActivator;
}
diff --git a/sca-java-1.x/trunk/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java b/sca-java-1.x/trunk/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java
index 0f5aedfd75..ce255cdcb5 100644
--- a/sca-java-1.x/trunk/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java
+++ b/sca-java-1.x/trunk/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java
@@ -81,6 +81,7 @@ 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.MonitorFactory;
import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory;
import org.apache.tuscany.sca.policy.PolicyFactory;
import org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint;
@@ -130,11 +131,14 @@ public class ReallySmallRuntimeBuilder {
UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
ConversationManager conversationManager = utilities.getUtility(ConversationManager.class);
+ MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+
// Create the composite activator
CompositeActivator compositeActivator =
new CompositeActivatorImpl(assemblyFactory, messageFactory, javaInterfaceFactory, scaBindingFactory,
mapper, scopeRegistry, workScheduler, wireProcessor, requestContextFactory,
- proxyFactory, providerFactories, endpointResolverFactories, processors, conversationManager);
+ proxyFactory, providerFactories, endpointResolverFactories, processors, conversationManager, monitor);
return compositeActivator;
}
diff --git a/sca-java-1.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/RuntimeBuilder.java b/sca-java-1.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/RuntimeBuilder.java
index f609e15c5c..e4875fa333 100644
--- a/sca-java-1.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/RuntimeBuilder.java
+++ b/sca-java-1.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/RuntimeBuilder.java
@@ -79,6 +79,7 @@ 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.MonitorFactory;
import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory;
import org.apache.tuscany.sca.policy.PolicyFactory;
import org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint;
@@ -128,12 +129,15 @@ public class RuntimeBuilder {
UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
ConversationManager conversationManager = utilities.getUtility(ConversationManager.class);
+ MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
+ Monitor monitor = monitorFactory.createMonitor();
+
// Create the composite activator
CompositeActivator compositeActivator =
new CompositeActivatorImpl(assemblyFactory, messageFactory, javaInterfaceFactory, scaBindingFactory,
mapper, scopeRegistry, workScheduler, wireProcessor, requestContextFactory,
proxyFactory, providerFactories, endpointResolverFactories, processors,
- conversationManager);
+ conversationManager, monitor);
return compositeActivator;
}