[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