From 00bb769d177b68dd8554928e93de970ae1f28d23 Mon Sep 17 00:00:00 2001 From: slaws Date: Sat, 18 Jul 2009 08:19:12 +0000 Subject: TUSCANY-3149 - Generally be more careful about removing object references in host-webapp. Specifically there is a problem with the axis ws binding (JIRA 3732 in the Axis project) where a shutdown hook is registered but not removed. This is fixed in Axis2 1.5 but as we are still in 1.4.1 I've worked round it here. git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@795323 13f79535-47bb-0310-9956-ffa450edef68 --- .../ws/axis2/Axis2BindingProviderFactory.java | 14 ++- .../sca/binding/ws/axis2/Axis2ServiceProvider.java | 2 + .../sca/binding/ws/axis2/Axis2ServiceServlet.java | 65 ++++++++++++- .../binding/ws/axis2/TuscanyListenerManager.java | 107 +++++++++++++++++++++ 4 files changed, 181 insertions(+), 7 deletions(-) create mode 100644 branches/sca-java-1.5.1/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/TuscanyListenerManager.java (limited to 'branches/sca-java-1.5.1/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2') diff --git a/branches/sca-java-1.5.1/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingProviderFactory.java b/branches/sca-java-1.5.1/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingProviderFactory.java index e6ca8e20a8..b1923bdf3c 100644 --- a/branches/sca-java-1.5.1/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingProviderFactory.java +++ b/branches/sca-java-1.5.1/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingProviderFactory.java @@ -46,17 +46,15 @@ import org.apache.tuscany.sca.work.WorkScheduler; public class Axis2BindingProviderFactory implements BindingProviderFactory { private ModelFactoryExtensionPoint modelFactories; - private ServletHost servletHost; + private List hosts; private List policyHandlerClassnames = null; private DataBindingExtensionPoint dataBindings; private WorkScheduler workScheduler; public Axis2BindingProviderFactory(ExtensionPointRegistry extensionPoints) { ServletHostExtensionPoint servletHosts = extensionPoints.getExtensionPoint(ServletHostExtensionPoint.class); - List hosts = servletHosts.getServletHosts(); - if (!hosts.isEmpty()) { - this.servletHost = hosts.get(0); - } + hosts = servletHosts.getServletHosts(); + modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); policyHandlerClassnames = PolicyHandlerDefinitionsLoader.loadPolicyHandlerClassnames(); dataBindings = extensionPoints.getExtensionPoint(DataBindingExtensionPoint.class); @@ -74,6 +72,12 @@ public class Axis2BindingProviderFactory implements BindingProviderFactory