[jboss-cvs] JBoss Messaging SVN: r5370 - trunk/src/main/org/jboss/messaging/core/management/impl.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Nov 17 09:03:18 EST 2008


Author: jmesnil
Date: 2008-11-17 09:03:18 -0500 (Mon, 17 Nov 2008)
New Revision: 5370

Modified:
   trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java
Log:
synchronize both registration/unregistration operations on the mbeanServer instance

Modified: trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java	2008-11-17 09:57:47 UTC (rev 5369)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java	2008-11-17 14:03:18 UTC (rev 5370)
@@ -345,22 +345,28 @@
       {
          return;
       }
-      unregisterFromJMX(objectName);
-      mbeanServer.registerMBean(managedResource, objectName);
+      synchronized (mbeanServer)
+      {
+         unregisterFromJMX(objectName);
+         mbeanServer.registerMBean(managedResource, objectName);         
+      }
    }
 
    // the JMX unregistration is synchronized to avoid race conditions if 2 clients tries to 
    // unregister the same resource (e.g. a queue) at the same time since unregisterMBean()
    // will throw an exception if the MBean has already been unregistered 
-   private synchronized void unregisterFromJMX(final ObjectName objectName) throws Exception
+   private void unregisterFromJMX(final ObjectName objectName) throws Exception
    {
       if (!jmxManagementEnabled)
       {
          return;
       }
-      if (mbeanServer.isRegistered(objectName))
+      synchronized (mbeanServer)
       {
-         mbeanServer.unregisterMBean(objectName);
+         if (mbeanServer.isRegistered(objectName))
+         {
+            mbeanServer.unregisterMBean(objectName);
+         }         
       }
    }
 




More information about the jboss-cvs-commits mailing list