[jboss-cvs] JBoss Messaging SVN: r7760 - in trunk/src/main/org/jboss/messaging/core: management/impl and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Aug 17 12:23:59 EDT 2009


Author: jmesnil
Date: 2009-08-17 12:23:59 -0400 (Mon, 17 Aug 2009)
New Revision: 7760

Modified:
   trunk/src/main/org/jboss/messaging/core/management/ManagementService.java
   trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java
   trunk/src/main/org/jboss/messaging/core/remoting/server/impl/RemotingServiceImpl.java
Log:
when stopping the remoting service, unregister all the acceptors from the management service

Modified: trunk/src/main/org/jboss/messaging/core/management/ManagementService.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/ManagementService.java	2009-08-17 16:23:05 UTC (rev 7759)
+++ trunk/src/main/org/jboss/messaging/core/management/ManagementService.java	2009-08-17 16:23:59 UTC (rev 7760)
@@ -112,7 +112,7 @@
 
    void registerAcceptor(Acceptor acceptor, TransportConfiguration configuration) throws Exception;
 
-   void unregisterAcceptor(String name) throws Exception;
+   void unregisterAcceptors();
 
    void registerDivert(Divert divert, DivertConfiguration config) throws Exception;
 
@@ -137,4 +137,5 @@
    Object getResource(String resourceName);
 
    ServerMessage handleMessage(ServerMessage message) throws Exception;
+
 }

Modified: trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java	2009-08-17 16:23:05 UTC (rev 7759)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java	2009-08-17 16:23:59 UTC (rev 7760)
@@ -26,12 +26,13 @@
 
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.atomic.AtomicLong;
 
 import javax.management.MBeanServer;
 import javax.management.NotificationBroadcasterSupport;
@@ -319,6 +320,31 @@
       registerInRegistry(ResourceNames.CORE_ACCEPTOR + configuration.getName(), control);
    }
 
+   public void unregisterAcceptors()
+   {
+      List<String> acceptors = new ArrayList<String>();      
+      for (String resourceName : registry.keySet())
+      {
+         if (resourceName.startsWith(ResourceNames.CORE_ACCEPTOR))
+         {
+            acceptors.add(resourceName);
+         }
+      }
+      
+      for (String acceptor : acceptors)
+      {
+         String name = acceptor.substring(ResourceNames.CORE_ACCEPTOR.length());
+         try
+         {
+            unregisterAcceptor(name);
+         }
+         catch (Exception e)
+         {
+            e.printStackTrace();
+         }
+      }
+   }
+   
    public synchronized void unregisterAcceptor(final String name) throws Exception
    {
       ObjectName objectName = ObjectNames.getAcceptorObjectName(name);

Modified: trunk/src/main/org/jboss/messaging/core/remoting/server/impl/RemotingServiceImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/server/impl/RemotingServiceImpl.java	2009-08-17 16:23:05 UTC (rev 7759)
+++ trunk/src/main/org/jboss/messaging/core/remoting/server/impl/RemotingServiceImpl.java	2009-08-17 16:23:59 UTC (rev 7760)
@@ -246,6 +246,8 @@
 
       connections.clear();
 
+      managementService.unregisterAcceptors();
+
       started = false;
    }
 




More information about the jboss-cvs-commits mailing list