You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ba...@apache.org on 2009/01/16 22:11:01 UTC

svn commit: r735134 - /webservices/axis2/branches/java/1_5/modules/kernel/src/org/apache/axis2/engine/ListenerManager.java

Author: barrettj
Date: Fri Jan 16 13:11:01 2009
New Revision: 735134

URL: http://svn.apache.org/viewvc?rev=735134&view=rev
Log:
AXIS2-4198
Patch submitted by Rick Slade. Add logic to addListner() similar to start() wrt setting the stopped flag 

Modified:
    webservices/axis2/branches/java/1_5/modules/kernel/src/org/apache/axis2/engine/ListenerManager.java

Modified: webservices/axis2/branches/java/1_5/modules/kernel/src/org/apache/axis2/engine/ListenerManager.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_5/modules/kernel/src/org/apache/axis2/engine/ListenerManager.java?rev=735134&r1=735133&r2=735134&view=diff
==============================================================================
--- webservices/axis2/branches/java/1_5/modules/kernel/src/org/apache/axis2/engine/ListenerManager.java (original)
+++ webservices/axis2/branches/java/1_5/modules/kernel/src/org/apache/axis2/engine/ListenerManager.java Fri Jan 16 13:11:01 2009
@@ -42,7 +42,7 @@
     private static final Log log = LogFactory.getLog(ListenerManager.class);
 
     public static ConfigurationContext defaultConfigurationContext;
-    protected ListenerManagerShutdownThread shutdownHookThread;
+    protected ListenerManagerShutdownThread shutdownHookThread = null;
 
     public static ListenerManager getDefaultListenerManager() {
         if (defaultConfigurationContext == null) return null;
@@ -131,8 +131,10 @@
             }
         }
 
-        shutdownHookThread = new ListenerManagerShutdownThread(this);
-        Runtime.getRuntime().addShutdownHook(shutdownHookThread);
+        if (shutdownHookThread == null) {
+            shutdownHookThread = new ListenerManagerShutdownThread(this);
+            Runtime.getRuntime().addShutdownHook(shutdownHookThread);
+        }
         
         stopped = false;
     }
@@ -149,8 +151,10 @@
         }
 
         // Remove the shutdown hook
-        Runtime.getRuntime().removeShutdownHook(shutdownHookThread);
-        shutdownHookThread = null;
+        if (shutdownHookThread != null) {
+            Runtime.getRuntime().removeShutdownHook(shutdownHookThread);
+            shutdownHookThread = null;
+        }
 
         for (Object o : startedTransports.values()) {
             TransportListener transportListener = (TransportListener)o;
@@ -210,6 +214,11 @@
             if (!started) {
                 transportListener.init(configctx, trsIn);
                 transportListener.start();
+                if (shutdownHookThread == null) {
+                    shutdownHookThread = new ListenerManagerShutdownThread(this);
+                    Runtime.getRuntime().addShutdownHook(shutdownHookThread);
+                }
+                stopped = false;
             }
             startedTransports.put(trsIn.getName(), transportListener);
         }