diff options
Diffstat (limited to 'sca-java-2.x/trunk/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/TuscanyListenerManager.java')
-rw-r--r-- | sca-java-2.x/trunk/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/TuscanyListenerManager.java | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/sca-java-2.x/trunk/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/TuscanyListenerManager.java b/sca-java-2.x/trunk/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/TuscanyListenerManager.java deleted file mode 100644 index eb1e1a27aa..0000000000 --- a/sca-java-2.x/trunk/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/TuscanyListenerManager.java +++ /dev/null @@ -1,115 +0,0 @@ -/* - * 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. - */ - -package org.apache.tuscany.sca.binding.ws.axis2; - -import java.lang.reflect.Field; -import java.util.HashMap; -import java.util.Iterator; - -import org.apache.axis2.AxisFault; -import org.apache.axis2.context.ConfigurationContext; -import org.apache.axis2.description.TransportInDescription; -import org.apache.axis2.engine.ListenerManager; -import org.apache.axis2.transport.TransportListener; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -/** - * A Tuscany specific Axis2 ListenerManager. Created purely as part of - * TUSCANY-3149 to unregister the ListenerManager from the runtime - * shutown hook - */ -public class TuscanyListenerManager extends ListenerManager { - private static final Log log = LogFactory.getLog(TuscanyListenerManager.class); - - private ListenerManagerShutdownThread shutdownThread = null; - - /** - * To start all the transports - */ - public synchronized void start() { - - ConfigurationContext configctx = getConfigctx(); - - // very nasty! but this is in order to get someone running who keeps - // getting perm gen errors. This will all go away when we move up to Axis2 1.5 - HashMap startedTransports = null; - - try { - Field field = ListenerManager.class.getDeclaredField("startedTransports"); - field.setAccessible(true); - startedTransports = (HashMap)field.get(this); - } catch (Exception ex){ - ex.printStackTrace(); - } - - for (Iterator transportNames = - configctx.getAxisConfiguration().getTransportsIn().values().iterator(); - transportNames.hasNext();) { - try { - TransportInDescription transportIn = (TransportInDescription) transportNames.next(); - TransportListener listener = transportIn.getReceiver(); - if (listener != null && - startedTransports.get(transportIn.getName()) == null) { - listener.init(configctx, transportIn); - listener.start(); - if (startedTransports.get(transportIn.getName()) == null) { - startedTransports.put(transportIn.getName(), listener); - } - } - } catch (Exception e) { - log.info(e.getMessage(), e); - } - } - shutdownThread = new ListenerManagerShutdownThread(this); - Runtime.getRuntime().addShutdownHook(shutdownThread); - } - - public synchronized void stop() throws AxisFault { - super.stop(); - try { - if (shutdownThread != null) { - Runtime.getRuntime().removeShutdownHook(shutdownThread); - shutdownThread = null; - } - } catch (IllegalStateException e) { - // Ignore - shutdownThread = null; - } - } - - static class ListenerManagerShutdownThread extends Thread { - ListenerManager listenerManager; - - public ListenerManagerShutdownThread(ListenerManager listenerManager) { - super(); - this.listenerManager = listenerManager; - } - - public void run() { - try { - listenerManager.stop(); - } catch (AxisFault axisFault) { - log.error(axisFault.getMessage(), axisFault); - } - } - } - -} |