[jboss-cvs] JBoss Messaging SVN: r6358 - in trunk: src/main/org/jboss/messaging/core/config/impl and 12 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Apr 8 07:50:04 EDT 2009


Author: jmesnil
Date: 2009-04-08 07:50:03 -0400 (Wed, 08 Apr 2009)
New Revision: 6358

Added:
   trunk/src/main/org/jboss/messaging/core/management/ResourceNames.java
   trunk/tests/src/org/jboss/messaging/tests/integration/management/AcceptorControlUsingCoreTest.java
   trunk/tests/src/org/jboss/messaging/tests/integration/management/BridgeControlUsingCoreTest.java
   trunk/tests/src/org/jboss/messaging/tests/integration/management/BroadcastGroupControlUsingCoreTest.java
   trunk/tests/src/org/jboss/messaging/tests/integration/management/ClusterConnectionControlUsingCoreTest.java
   trunk/tests/src/org/jboss/messaging/tests/integration/management/DiscoveryGroupControlUsingCoreTest.java
   trunk/tests/src/org/jboss/messaging/tests/integration/management/DivertControlUsingCoreTest.java
Modified:
   trunk/src/main/org/jboss/messaging/core/client/management/impl/ManagementHelper.java
   trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java
   trunk/src/main/org/jboss/messaging/core/management/AcceptorControlMBean.java
   trunk/src/main/org/jboss/messaging/core/management/ManagementService.java
   trunk/src/main/org/jboss/messaging/core/management/ReplicationOperationInvoker.java
   trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java
   trunk/src/main/org/jboss/messaging/core/management/impl/ReplicationOperationInvokerImpl.java
   trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareAddressControlWrapper.java
   trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareMessagingServerControlWrapper.java
   trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareQueueControlWrapper.java
   trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareStandardMBeanWrapper.java
   trunk/src/main/org/jboss/messaging/core/server/cluster/impl/BridgeImpl.java
   trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSManagementHelper.java
   trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSManagementServiceImpl.java
   trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareConnectionFactoryControlWrapper.java
   trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareJMSQueueControlWrapper.java
   trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareJMSServerControlWrapper.java
   trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareTopicControlWrapper.java
   trunk/tests/jms-tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java
   trunk/tests/joram-tests/src/org/jboss/test/jms/JBossMessagingAdmin.java
   trunk/tests/src/org/jboss/messaging/tests/integration/cluster/failover/FailoverManagementTest.java
   trunk/tests/src/org/jboss/messaging/tests/integration/jms/bridge/BridgeTestBase.java
   trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/JMSMessagingProxy.java
   trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/JMSQueueControlUsingJMSTest.java
   trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/JMSServerControlUsingJMSTest.java
   trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/TopicControlUsingJMSTest.java
   trunk/tests/src/org/jboss/messaging/tests/integration/management/AcceptorControlTest.java
   trunk/tests/src/org/jboss/messaging/tests/integration/management/AddressControlUsingCoreTest.java
   trunk/tests/src/org/jboss/messaging/tests/integration/management/BridgeControlTest.java
   trunk/tests/src/org/jboss/messaging/tests/integration/management/BroadcastGroupControlTest.java
   trunk/tests/src/org/jboss/messaging/tests/integration/management/ClusterConnectionControlTest.java
   trunk/tests/src/org/jboss/messaging/tests/integration/management/CoreMessagingProxy.java
   trunk/tests/src/org/jboss/messaging/tests/integration/management/DiscoveryGroupControlTest.java
   trunk/tests/src/org/jboss/messaging/tests/integration/management/DivertControlTest.java
   trunk/tests/src/org/jboss/messaging/tests/integration/management/MessagingServerControlUsingCoreTest.java
   trunk/tests/src/org/jboss/messaging/tests/integration/management/QueueControlUsingCoreTest.java
   trunk/tests/src/org/jboss/messaging/tests/integration/management/SecurityManagementTestBase.java
Log:
JBMESSAGING-1593: Simple naming convention to manage server resources using messages

* when managing JBM resources using messages, the resource name is no longer the ObjectName but a simple name (e.g. core.queue.${name})

Modified: trunk/src/main/org/jboss/messaging/core/client/management/impl/ManagementHelper.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/client/management/impl/ManagementHelper.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/core/client/management/impl/ManagementHelper.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -31,8 +31,6 @@
 import java.util.List;
 import java.util.Set;
 
-import javax.management.ObjectName;
-
 import org.jboss.messaging.core.message.Message;
 import org.jboss.messaging.utils.SimpleString;
 
@@ -46,17 +44,17 @@
 
    // Constants -----------------------------------------------------
 
-   public static final SimpleString HDR_JMX_OBJECTNAME = new SimpleString("_JBM_JMX_ObjectName");
+   public static final SimpleString HDR_RESOURCE_NAME = new SimpleString("_JBM_ResourceName");
 
-   public static final SimpleString HDR_JMX_ATTRIBUTE = new SimpleString("_JBM_JMXAttribute");
+   public static final SimpleString HDR_ATTRIBUTE = new SimpleString("_JBM_Attribute");
 
-   public static final SimpleString HDR_JMX_OPERATION_PREFIX = new SimpleString("_JBM_JMXOperation$");
+   public static final SimpleString HDR_OPERATION_PREFIX = new SimpleString("_JBM_Operation$");
 
-   public static final SimpleString HDR_JMX_OPERATION_NAME = new SimpleString(HDR_JMX_OPERATION_PREFIX + "name");
+   public static final SimpleString HDR_OPERATION_NAME = new SimpleString(HDR_OPERATION_PREFIX + "name");
 
-   public static final SimpleString HDR_JMX_OPERATION_SUCCEEDED = new SimpleString("_JBM_JMXOperationSucceeded");
+   public static final SimpleString HDR_OPERATION_SUCCEEDED = new SimpleString("_JBM_OperationSucceeded");
 
-   public static final SimpleString HDR_JMX_OPERATION_EXCEPTION = new SimpleString("_JBM_JMXOperationException");
+   public static final SimpleString HDR_OPERATION_EXCEPTION = new SimpleString("_JBM_OperationException");
 
    public static final SimpleString HDR_NOTIFICATION_TYPE = new SimpleString("_JBM_NotifType");
 
@@ -88,27 +86,27 @@
 
    // Static --------------------------------------------------------
 
-   public static void putAttribute(final Message message, final ObjectName objectName, final String attribute)
+   public static void putAttribute(final Message message, final String resourceName, final String attribute)
    {
-      message.putStringProperty(HDR_JMX_OBJECTNAME, new SimpleString(objectName.toString()));
-      message.putStringProperty(HDR_JMX_ATTRIBUTE, new SimpleString(attribute));
+      message.putStringProperty(HDR_RESOURCE_NAME, new SimpleString(resourceName));
+      message.putStringProperty(HDR_ATTRIBUTE, new SimpleString(attribute));
    }
 
    public static void putOperationInvocation(final Message message,
-                                             final ObjectName objectName,
+                                             final String resourceName,
                                              final String operationName,
                                              final Object... parameters)
    {
       // store the name of the operation...
-      message.putStringProperty(HDR_JMX_OBJECTNAME, new SimpleString(objectName.toString()));
-      message.putStringProperty(HDR_JMX_OPERATION_NAME, new SimpleString(operationName));
+      message.putStringProperty(HDR_RESOURCE_NAME, new SimpleString(resourceName));
+      message.putStringProperty(HDR_OPERATION_NAME, new SimpleString(operationName));
       // ... and all the parameters (preserving their types)
       for (int i = 0; i < parameters.length; i++)
       {
          Object parameter = parameters[i];
          // use a zero-filled 2-padded index:
          // if there is more than 10 parameters, order is preserved (e.g. 02 will be before 10)
-         SimpleString key = new SimpleString(String.format("%s%02d", HDR_JMX_OPERATION_PREFIX, i));
+         SimpleString key = new SimpleString(String.format("%s%02d", HDR_OPERATION_PREFIX, i));
          storeTypedProperty(message, key, parameter);
       }
    }
@@ -123,7 +121,7 @@
       Collections.sort(propsNames);
       for (SimpleString propertyName : propsNames)
       {
-         if (propertyName.startsWith(ManagementHelper.HDR_JMX_OPERATION_PREFIX))
+         if (propertyName.startsWith(ManagementHelper.HDR_OPERATION_PREFIX))
          {
             String s = propertyName.toString();
             // split by the dot
@@ -153,7 +151,7 @@
 
    public static boolean isOperationResult(final Message message)
    {
-      return message.containsProperty(HDR_JMX_OPERATION_SUCCEEDED);
+      return message.containsProperty(HDR_OPERATION_SUCCEEDED);
    }
 
    public static boolean isAttributesResult(final Message message)
@@ -192,18 +190,18 @@
       {
          return false;
       }
-      if (message.containsProperty(HDR_JMX_OPERATION_SUCCEEDED))
+      if (message.containsProperty(HDR_OPERATION_SUCCEEDED))
       {
-         return (Boolean)message.getProperty(HDR_JMX_OPERATION_SUCCEEDED);
+         return (Boolean)message.getProperty(HDR_OPERATION_SUCCEEDED);
       }
       return false;
    }
 
    public static String getOperationExceptionMessage(final Message message)
    {
-      if (message.containsProperty(HDR_JMX_OPERATION_EXCEPTION))
+      if (message.containsProperty(HDR_OPERATION_EXCEPTION))
       {
-         return ((SimpleString)message.getProperty(HDR_JMX_OPERATION_EXCEPTION)).toString();
+         return ((SimpleString)message.getProperty(HDR_OPERATION_EXCEPTION)).toString();
       }
       return null;
    }

Modified: trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -772,16 +772,14 @@
 
       NodeList children = dvNode.getChildNodes();
 
+      name = dvNode.getAttribute("name");
+      
       for (int j = 0; j < children.getLength(); j++)
       {
          Node child = children.item(j);
 
-         if (child.getNodeName().equals("name"))
+         if (child.getNodeName().equals("routing-name"))
          {
-            name = child.getTextContent().trim();
-         }
-         else if (child.getNodeName().equals("routing-name"))
-         {
             routingName = child.getTextContent().trim();
          }
          else if (child.getNodeName().equals("address"))

Modified: trunk/src/main/org/jboss/messaging/core/management/AcceptorControlMBean.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/AcceptorControlMBean.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/core/management/AcceptorControlMBean.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -32,9 +32,9 @@
  */
 public interface AcceptorControlMBean extends MessagingComponentControlMBean
 {
-   void pause();
+   void pause() throws Exception;
    
-   void resume();
+   void resume() throws Exception;
    
    String getName();
 

Modified: trunk/src/main/org/jboss/messaging/core/management/ManagementService.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/ManagementService.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/core/management/ManagementService.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -99,8 +99,12 @@
 
    void registerInJMX(ObjectName objectName, Object managedResource) throws Exception;
 
-   void registerInRegistry(ObjectName objectName, Object managedResource);
+   void unregisterFromJMX(final ObjectName objectName) throws Exception;
+
+   void registerInRegistry(String resourceName, Object managedResource);
    
+   void unregisterFromRegistry(final String resourceName);
+
    void registerAddress(SimpleString address) throws Exception;
 
    void unregisterAddress(SimpleString address) throws Exception;
@@ -133,11 +137,7 @@
    
    void unregisterCluster(String name) throws Exception;
 
-   void registerResource(ObjectName objectName, Object resource) throws Exception;
+   Object getResource(String resourceName);
 
-   void unregisterResource(ObjectName objectName) throws Exception;
-
-   Object getResource(ObjectName objectName);
-
    ServerMessage handleMessage(ServerMessage message);  
 }

Modified: trunk/src/main/org/jboss/messaging/core/management/ReplicationOperationInvoker.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/ReplicationOperationInvoker.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/core/management/ReplicationOperationInvoker.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -22,7 +22,6 @@
 
 package org.jboss.messaging.core.management;
 
-import javax.management.ObjectName;
 
 /**
  * A ReplicationOperationInvoker
@@ -32,7 +31,7 @@
 public interface ReplicationOperationInvoker
 {
 
-   Object invoke(ObjectName objectName, String operationName, Object... parameters) throws Exception;
+   Object invoke(String resourceName, String operationName, Object... parameters) throws Exception;
 
    void stop();
 }
\ No newline at end of file

Added: trunk/src/main/org/jboss/messaging/core/management/ResourceNames.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/ResourceNames.java	                        (rev 0)
+++ trunk/src/main/org/jboss/messaging/core/management/ResourceNames.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -0,0 +1,81 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005-2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+
+package org.jboss.messaging.core.management;
+
+/**
+ * A ResourceNames
+ *
+ * @author jmesnil
+ *
+ *
+ */
+public class ResourceNames
+{
+
+   // Constants -----------------------------------------------------
+
+   public static final String CORE_SERVER = "core.server";
+
+   public static final String CORE_QUEUE = "core.queue.";
+
+   public static final String CORE_ADDRESS = "core.address.";
+
+   public static final String CORE_BRIDGE = "core.bridge.";
+
+   public static final String CORE_ACCEPTOR = "core.acceptor.";
+
+   public static final String CORE_DIVERT = "core.divert.";
+
+   public static final String CORE_CLUSTER_CONNECTION = "core.clusterconnection.";
+
+   public static final String CORE_BROADCAST_GROUP = "core.broadcastgroup.";
+
+   public static final String CORE_DISCOVERY_GROUP = "core.discovery.";
+   
+   public static final String JMS_SERVER = "jms.server";
+
+   public static final String JMS_QUEUE = "jms.queue.";
+
+   public static final String JMS_TOPIC = "jms.address.";
+
+   public static final String JMS_CONNECTION_FACTORY = "jms.connectionfactory.";
+
+
+   // Attributes ----------------------------------------------------
+
+   // Static --------------------------------------------------------
+
+   // Constructors --------------------------------------------------
+
+   // Public --------------------------------------------------------
+
+   // Package protected ---------------------------------------------
+
+   // Protected -----------------------------------------------------
+
+   // Private -------------------------------------------------------
+
+   // Inner classes -------------------------------------------------
+
+}

Modified: trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -62,6 +62,7 @@
 import org.jboss.messaging.core.management.NotificationListener;
 import org.jboss.messaging.core.management.ObjectNames;
 import org.jboss.messaging.core.management.ReplicationOperationInvoker;
+import org.jboss.messaging.core.management.ResourceNames;
 import org.jboss.messaging.core.management.jmx.impl.ReplicationAwareAddressControlWrapper;
 import org.jboss.messaging.core.management.jmx.impl.ReplicationAwareMessagingServerControlWrapper;
 import org.jboss.messaging.core.management.jmx.impl.ReplicationAwareQueueControlWrapper;
@@ -105,7 +106,7 @@
 
    private final boolean jmxManagementEnabled;
 
-   private final Map<ObjectName, Object> registry;
+   private final Map<String, Object> registry;
 
    private final NotificationBroadcasterSupport broadcaster;
 
@@ -143,7 +144,7 @@
    {
       this.mbeanServer = mbeanServer;
       this.jmxManagementEnabled = jmxManagementEnabled;
-      registry = new HashMap<ObjectName, Object>();
+      registry = new HashMap<String, Object>();
       broadcaster = new NotificationBroadcasterSupport();
       noticationsEnabled = true;
    }
@@ -183,30 +184,29 @@
                                                  broadcaster,
                                                  queueFactory);
       ObjectName objectName = ObjectNames.getMessagingServerObjectName();
-      registerInJMX(objectName, new ReplicationAwareMessagingServerControlWrapper(objectName,
-                                                                                  managedServer,
+      registerInJMX(objectName, new ReplicationAwareMessagingServerControlWrapper(managedServer,
                                                                                   replicationInvoker));
-      registerInRegistry(objectName, managedServer);
+      registerInRegistry(ResourceNames.CORE_SERVER, managedServer);
 
       return managedServer;
    }
 
-   public void unregisterServer() throws Exception
+   public synchronized void unregisterServer() throws Exception
    {
       ObjectName objectName = ObjectNames.getMessagingServerObjectName();
-      unregisterResource(objectName);
+      unregisterFromJMX(objectName);
+      unregisterFromRegistry(ResourceNames.CORE_SERVER);
    }  
    
-   public void registerAddress(final SimpleString address) throws Exception
+   public synchronized void registerAddress(final SimpleString address) throws Exception
    {
       ObjectName objectName = ObjectNames.getAddressObjectName(address);
       AddressControl addressControl = new AddressControl(address, postOffice, securityRepository);
 
-      registerInJMX(objectName, new ReplicationAwareAddressControlWrapper(objectName,
-                                                                          addressControl,
+      registerInJMX(objectName, new ReplicationAwareAddressControlWrapper(addressControl,
                                                                           replicationInvoker));
 
-      registerInRegistry(objectName, addressControl);
+      registerInRegistry(ResourceNames.CORE_ADDRESS + address, addressControl);
 
       if (log.isDebugEnabled())
       {
@@ -214,14 +214,15 @@
       }
    }
 
-   public void unregisterAddress(final SimpleString address) throws Exception
+   public synchronized void unregisterAddress(final SimpleString address) throws Exception
    {
       ObjectName objectName = ObjectNames.getAddressObjectName(address);
 
-      unregisterResource(objectName);
+      unregisterFromJMX(objectName);
+      unregisterFromRegistry(ResourceNames.CORE_ADDRESS + address);
    }
 
-   public void registerQueue(final Queue queue, final SimpleString address, final StorageManager storageManager) throws Exception
+   public synchronized void registerQueue(final Queue queue, final SimpleString address, final StorageManager storageManager) throws Exception
    {
       MessageCounter counter = new MessageCounter(queue.getName().toString(),
                                                   null,
@@ -232,8 +233,8 @@
       messageCounterManager.registerMessageCounter(queue.getName().toString(), counter);
       ObjectName objectName = ObjectNames.getQueueObjectName(address, queue.getName());
       QueueControl queueControl = new QueueControl(queue, address.toString(), postOffice, addressSettingsRepository, counter);
-      registerInJMX(objectName, new ReplicationAwareQueueControlWrapper(objectName, queueControl, replicationInvoker));
-      registerInRegistry(objectName, queueControl);
+      registerInJMX(objectName, new ReplicationAwareQueueControlWrapper(queueControl, replicationInvoker));
+      registerInRegistry(ResourceNames.CORE_QUEUE + queue.getName(), queueControl);
 
       if (log.isDebugEnabled())
       {
@@ -241,19 +242,20 @@
       }
    }
 
-   public void unregisterQueue(final SimpleString name, final SimpleString address) throws Exception
+   public synchronized void unregisterQueue(final SimpleString name, final SimpleString address) throws Exception
    {
       ObjectName objectName = ObjectNames.getQueueObjectName(address, name);
-      unregisterResource(objectName);
+      unregisterFromJMX(objectName);
+      unregisterFromRegistry(ResourceNames.CORE_QUEUE + name);
       messageCounterManager.unregisterMessageCounter(name.toString());
    }
    
-   public void registerDivert(Divert divert, DivertConfiguration config) throws Exception
+   public synchronized void registerDivert(Divert divert, DivertConfiguration config) throws Exception
    {
       ObjectName objectName = ObjectNames.getDivertObjectName(divert.getUniqueName());
       DivertControlMBean divertControl = new DivertControl(divert, config);
       registerInJMX(objectName, new StandardMBean(divertControl, DivertControlMBean.class));
-      registerInRegistry(objectName, divertControl);
+      registerInRegistry(ResourceNames.CORE_DIVERT + config.getName(), divertControl);
 
       if (log.isDebugEnabled())
       {
@@ -261,80 +263,86 @@
       }
    }
 
-   public void unregisterDivert(final SimpleString name) throws Exception
+   public synchronized void unregisterDivert(final SimpleString name) throws Exception
    {
       ObjectName objectName = ObjectNames.getDivertObjectName(name);
-      unregisterResource(objectName);
+      unregisterFromJMX(objectName);
+      unregisterFromRegistry(ResourceNames.CORE_DIVERT + name);
    }
 
-   public void registerAcceptor(final Acceptor acceptor, final TransportConfiguration configuration) throws Exception
+   public synchronized void registerAcceptor(final Acceptor acceptor, final TransportConfiguration configuration) throws Exception
    {
       ObjectName objectName = ObjectNames.getAcceptorObjectName(configuration.getName());
       AcceptorControlMBean control = new AcceptorControl(acceptor, configuration);
       registerInJMX(objectName, new StandardMBean(control, AcceptorControlMBean.class));
-      registerInRegistry(objectName, control);
+      registerInRegistry(ResourceNames.CORE_ACCEPTOR + configuration.getName(), control);
    }
 
-   public void unregisterAcceptor(final String name) throws Exception
+   public synchronized void unregisterAcceptor(final String name) throws Exception
    {
       ObjectName objectName = ObjectNames.getAcceptorObjectName(name);
-      unregisterResource(objectName);
+      unregisterFromJMX(objectName);
+      unregisterFromRegistry(ResourceNames.CORE_ACCEPTOR + name);
    }
 
-   public void registerBroadcastGroup(BroadcastGroup broadcastGroup, BroadcastGroupConfiguration configuration) throws Exception
+   public synchronized void registerBroadcastGroup(BroadcastGroup broadcastGroup, BroadcastGroupConfiguration configuration) throws Exception
    {
       ObjectName objectName = ObjectNames.getBroadcastGroupObjectName(configuration.getName());
       BroadcastGroupControlMBean control = new BroadcastGroupControl(broadcastGroup, configuration);
       registerInJMX(objectName, new StandardMBean(control, BroadcastGroupControlMBean.class));
-      registerInRegistry(objectName, control);
+      registerInRegistry(ResourceNames.CORE_BROADCAST_GROUP + configuration.getName(), control);
    }
 
-   public void unregisterBroadcastGroup(String name) throws Exception
+   public synchronized void unregisterBroadcastGroup(String name) throws Exception
    {
       ObjectName objectName = ObjectNames.getBroadcastGroupObjectName(name);
-      unregisterResource(objectName);
+      unregisterFromJMX(objectName);
+      unregisterFromRegistry(ResourceNames.CORE_BROADCAST_GROUP + name);
    }
 
-   public void registerDiscoveryGroup(DiscoveryGroup discoveryGroup, DiscoveryGroupConfiguration configuration) throws Exception
+   public synchronized void registerDiscoveryGroup(DiscoveryGroup discoveryGroup, DiscoveryGroupConfiguration configuration) throws Exception
    {
       ObjectName objectName = ObjectNames.getDiscoveryGroupObjectName(configuration.getName());
       DiscoveryGroupControlMBean control = new DiscoveryGroupControl(discoveryGroup, configuration);
       registerInJMX(objectName, new StandardMBean(control, DiscoveryGroupControlMBean.class));
-      registerInRegistry(objectName, control);
+      registerInRegistry(ResourceNames.CORE_DISCOVERY_GROUP + configuration.getName(), control);
    }
 
-   public void unregisterDiscoveryGroup(String name) throws Exception
+   public synchronized void unregisterDiscoveryGroup(String name) throws Exception
    {
       ObjectName objectName = ObjectNames.getDiscoveryGroupObjectName(name);
-      unregisterResource(objectName);
+      unregisterFromJMX(objectName);
+      unregisterFromRegistry(ResourceNames.CORE_DISCOVERY_GROUP + name);
    }
 
-   public void registerBridge(Bridge bridge, BridgeConfiguration configuration) throws Exception
+   public synchronized void registerBridge(Bridge bridge, BridgeConfiguration configuration) throws Exception
    {
       ObjectName objectName = ObjectNames.getBridgeObjectName(configuration.getName());
       BridgeControlMBean control = new BridgeControl(bridge, configuration);
       registerInJMX(objectName, new StandardMBean(control, BridgeControlMBean.class));
-      registerInRegistry(objectName, control);
+      registerInRegistry(ResourceNames.CORE_BRIDGE + configuration.getName(), control);
    }
 
-   public void unregisterBridge(String name) throws Exception
+   public synchronized void unregisterBridge(String name) throws Exception
    {
       ObjectName objectName = ObjectNames.getBridgeObjectName(name);
-      unregisterResource(objectName);
+      unregisterFromJMX(objectName);
+      unregisterFromRegistry(ResourceNames.CORE_BRIDGE + name);
    }
    
-   public void registerCluster(final ClusterConnection cluster, final ClusterConnectionConfiguration configuration) throws Exception
+   public synchronized void registerCluster(final ClusterConnection cluster, final ClusterConnectionConfiguration configuration) throws Exception
    {
       ObjectName objectName = ObjectNames.getClusterConnectionObjectName(configuration.getName());
       ClusterConnectionControlMBean control = new ClusterConnectionControl(cluster, configuration);
       registerInJMX(objectName, new StandardMBean(control, ClusterConnectionControlMBean.class));
-      registerInRegistry(objectName, control);
+      registerInRegistry(ResourceNames.CORE_CLUSTER_CONNECTION + configuration.getName(), control);
    }
 
-   public void unregisterCluster(final String name) throws Exception
+   public synchronized void unregisterCluster(final String name) throws Exception
    {
       ObjectName objectName = ObjectNames.getClusterConnectionObjectName(name);
-      unregisterResource(objectName);
+      unregisterFromJMX(objectName);
+      unregisterFromRegistry(ResourceNames.CORE_CLUSTER_CONNECTION + name);
    }
 
    public ServerMessage handleMessage(final ServerMessage message)
@@ -345,10 +353,10 @@
       ServerMessageImpl reply = new ServerMessageImpl(message);
       reply.setType(MessageImpl.OBJECT_TYPE);
       
-      SimpleString objectName = (SimpleString)message.getProperty(ManagementHelper.HDR_JMX_OBJECTNAME);
+      SimpleString resourceName = (SimpleString)message.getProperty(ManagementHelper.HDR_RESOURCE_NAME);
       if (log.isDebugEnabled())
       {
-         log.debug("handling management message for " + objectName);
+         log.debug("handling management message for " + resourceName);
       }
       Set<SimpleString> propertyNames = message.getPropertyNames();
       // use an array with all the property names to avoid a
@@ -357,23 +365,23 @@
       // properties to the message)
       List<SimpleString> propNames = new ArrayList<SimpleString>(propertyNames);
 
-      if (propNames.contains(ManagementHelper.HDR_JMX_OPERATION_NAME))
+      if (propNames.contains(ManagementHelper.HDR_OPERATION_NAME))
       {
-         SimpleString operation = (SimpleString)message.getProperty(ManagementHelper.HDR_JMX_OPERATION_NAME);
+         SimpleString operation = (SimpleString)message.getProperty(ManagementHelper.HDR_OPERATION_NAME);
          List<Object> operationParameters = ManagementHelper.retrieveOperationParameters(message);
 
          if (operation != null)
          {
             try
             {
-               Object result = invokeOperation(objectName.toString(), operation.toString(), operationParameters);
-               reply.putBooleanProperty(ManagementHelper.HDR_JMX_OPERATION_SUCCEEDED, true);
+               Object result = invokeOperation(resourceName.toString(), operation.toString(), operationParameters);
+               reply.putBooleanProperty(ManagementHelper.HDR_OPERATION_SUCCEEDED, true);
                ManagementHelper.storeResult(reply, result);
             }
             catch (Exception e)
             {               
-               log.warn("exception while invoking " + operation + " on " + objectName, e);
-               reply.putBooleanProperty(ManagementHelper.HDR_JMX_OPERATION_SUCCEEDED, false);
+               log.warn("exception while invoking " + operation + " on " + resourceName, e);
+               reply.putBooleanProperty(ManagementHelper.HDR_OPERATION_SUCCEEDED, false);
                String exceptionMessage = e.getMessage();
                if (e instanceof InvocationTargetException)
                {
@@ -381,7 +389,7 @@
                }
                if (e != null)
                {
-                  reply.putStringProperty(ManagementHelper.HDR_JMX_OPERATION_EXCEPTION,
+                  reply.putStringProperty(ManagementHelper.HDR_OPERATION_EXCEPTION,
                                             new SimpleString(exceptionMessage));
                }
             }
@@ -391,10 +399,10 @@
       {
          for (SimpleString propertyName : propNames)
          {
-            if (propertyName.equals(ManagementHelper.HDR_JMX_ATTRIBUTE))
+            if (propertyName.equals(ManagementHelper.HDR_ATTRIBUTE))
             {
                SimpleString attribute = (SimpleString)message.getProperty(propertyName);
-               Object result = getAttribute(objectName.toString(), attribute.toString());
+               Object result = getAttribute(resourceName.toString(), attribute.toString());
                ManagementHelper.storeResult(reply, result);
             }
          }
@@ -403,23 +411,11 @@
       return reply;
    }
 
-   public void registerResource(final ObjectName objectName, final Object resource) throws Exception
+   public Object getResource(final String resourceName)
    {
-      registerInRegistry(objectName, resource);
-      registerInJMX(objectName, resource);
+      return registry.get(resourceName);
    }
 
-   public void unregisterResource(final ObjectName objectName) throws Exception
-   {
-      unregisterFromRegistry(objectName);
-      unregisterFromJMX(objectName);
-   }
-
-   public Object getResource(final ObjectName objectName)
-   {
-      return registry.get(objectName);
-   }
-
    public void registerInJMX(final ObjectName objectName, final Object managedResource) throws Exception
    {
       if (!jmxManagementEnabled)
@@ -433,12 +429,35 @@
       }
    }
 
-   public void registerInRegistry(final ObjectName objectName, final Object managedResource)
+   public synchronized void registerInRegistry(final String resourceName, final Object managedResource)
    {
-      unregisterFromRegistry(objectName);
-      registry.put(objectName, managedResource);
+      unregisterFromRegistry(resourceName);
+      registry.put(resourceName, managedResource);
    }
 
+   public void unregisterFromRegistry(final String resourceName)
+   {
+      registry.remove(resourceName);
+   }
+
+   // 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
+   public void unregisterFromJMX(final ObjectName objectName) throws Exception
+   {
+      if (!jmxManagementEnabled)
+      {
+         return;
+      }
+      synchronized (mbeanServer)
+      {
+         if (mbeanServer.isRegistered(objectName))
+         {
+            mbeanServer.unregisterMBean(objectName);
+         }
+      }
+   }
+
    public void addNotificationListener(final NotificationListener listener)
    {
       listeners.add(listener);
@@ -506,11 +525,11 @@
 
    public synchronized void stop() throws Exception
    {
-      Set<ObjectName> objectNames = new HashSet<ObjectName>(registry.keySet());
+      Set<String> resourceNames = new HashSet<String>(registry.keySet());
 
-      for (ObjectName objectName : objectNames)
+      for (String resourceName : resourceNames)
       {
-         unregisterResource(objectName);
+         unregisterFromRegistry(resourceName);
       }
 
       replicationInvoker.stop();
@@ -528,29 +547,6 @@
    // Protected -----------------------------------------------------
 
    // Private -------------------------------------------------------
-
-   private void unregisterFromRegistry(final ObjectName objectName)
-   {
-      registry.remove(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 void unregisterFromJMX(final ObjectName objectName) throws Exception
-   {
-      if (!jmxManagementEnabled)
-      {
-         return;
-      }
-      synchronized (mbeanServer)
-      {
-         if (mbeanServer.isRegistered(objectName))
-         {
-            mbeanServer.unregisterMBean(objectName);
-         }
-      }
-   }
    
    public void sendNotification(final Notification notification) throws Exception
    {     
@@ -615,12 +611,11 @@
       noticationsEnabled = enabled;
    }
 
-   public Object getAttribute(final String objectNameStr, final String attribute)
+   public Object getAttribute(final String resourceName, final String attribute)
    {
       try
       {
-         ObjectName objectName = ObjectName.getInstance(objectNameStr);
-         Object resource = registry.get(objectName);
+         Object resource = registry.get(resourceName);
          Method method = null;
 
          try
@@ -646,10 +641,9 @@
       }
    }
 
-   private Object invokeOperation(final String objectNameStr, final String operation, final List<Object> params) throws Exception
+   private Object invokeOperation(final String resourceName, final String operation, final List<Object> params) throws Exception
    {
-      ObjectName objectName = ObjectName.getInstance(objectNameStr);
-      Object resource = registry.get(objectName);
+      Object resource = registry.get(resourceName);
       Method method = null;
 
       Method[] methods = resource.getClass().getMethods();

Modified: trunk/src/main/org/jboss/messaging/core/management/impl/ReplicationOperationInvokerImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/ReplicationOperationInvokerImpl.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/ReplicationOperationInvokerImpl.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -82,7 +82,7 @@
 
    // Public --------------------------------------------------------
 
-   public synchronized Object invoke(final ObjectName objectName,
+   public synchronized Object invoke(final String resourceName,
                                            final String operationName,
                                            final Object... parameters) throws Exception
    {
@@ -94,7 +94,7 @@
          clientSession.start();
       }
       ClientMessage mngmntMessage = clientSession.createClientMessage(false);
-      ManagementHelper.putOperationInvocation(mngmntMessage, objectName, operationName, parameters);
+      ManagementHelper.putOperationInvocation(mngmntMessage, resourceName, operationName, parameters);
       ClientMessage reply = requestor.request(mngmntMessage, timeout);
 
       if (reply == null)

Modified: trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareAddressControlWrapper.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareAddressControlWrapper.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareAddressControlWrapper.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -22,15 +22,15 @@
 
 package org.jboss.messaging.core.management.jmx.impl;
 
+import javax.management.MBeanInfo;
+import javax.management.openmbean.TabularData;
+
 import org.jboss.messaging.core.management.AddressControlMBean;
 import org.jboss.messaging.core.management.ReplicationOperationInvoker;
+import org.jboss.messaging.core.management.ResourceNames;
 import org.jboss.messaging.core.management.impl.AddressControl;
 import org.jboss.messaging.core.management.impl.MBeanInfoHelper;
 
-import javax.management.MBeanInfo;
-import javax.management.ObjectName;
-import javax.management.openmbean.TabularData;
-
 /**
  * A ReplicationAwareAddressControlWrapper
  *
@@ -50,11 +50,10 @@
 
    // Constructors --------------------------------------------------
 
-   public ReplicationAwareAddressControlWrapper(final ObjectName objectName, 
-                                                final AddressControl localAddressControl,
+   public ReplicationAwareAddressControlWrapper(final AddressControl localAddressControl,
                                                 final ReplicationOperationInvoker replicationInvoker) throws Exception
    {
-      super(objectName, AddressControlMBean.class, replicationInvoker);
+      super(ResourceNames.CORE_ADDRESS + localAddressControl.getAddress(), AddressControlMBean.class, replicationInvoker);
 
       this.localAddressControl = localAddressControl;
    }

Modified: trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareMessagingServerControlWrapper.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareMessagingServerControlWrapper.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareMessagingServerControlWrapper.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -25,12 +25,12 @@
 import java.util.List;
 
 import javax.management.MBeanInfo;
-import javax.management.ObjectName;
 import javax.management.openmbean.TabularData;
 
 import org.jboss.messaging.core.config.Configuration;
 import org.jboss.messaging.core.management.MessagingServerControlMBean;
 import org.jboss.messaging.core.management.ReplicationOperationInvoker;
+import org.jboss.messaging.core.management.ResourceNames;
 import org.jboss.messaging.core.management.impl.MBeanInfoHelper;
 import org.jboss.messaging.core.management.impl.MessagingServerControl;
 
@@ -54,11 +54,10 @@
 
    // Constructors --------------------------------------------------
 
-   public ReplicationAwareMessagingServerControlWrapper(final ObjectName objectName,
-                                                        final MessagingServerControl localControl, 
+   public ReplicationAwareMessagingServerControlWrapper(final MessagingServerControl localControl, 
                                                         final ReplicationOperationInvoker replicationInvoker) throws Exception
    {
-      super(objectName, MessagingServerControlMBean.class, replicationInvoker);
+      super(ResourceNames.CORE_SERVER, MessagingServerControlMBean.class, replicationInvoker);
 
       this.localControl = localControl;
    }

Modified: trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareQueueControlWrapper.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareQueueControlWrapper.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareQueueControlWrapper.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -23,12 +23,12 @@
 package org.jboss.messaging.core.management.jmx.impl;
 
 import javax.management.MBeanInfo;
-import javax.management.ObjectName;
 import javax.management.openmbean.CompositeData;
 import javax.management.openmbean.TabularData;
 
 import org.jboss.messaging.core.management.QueueControlMBean;
 import org.jboss.messaging.core.management.ReplicationOperationInvoker;
+import org.jboss.messaging.core.management.ResourceNames;
 import org.jboss.messaging.core.management.impl.MBeanInfoHelper;
 import org.jboss.messaging.core.management.impl.QueueControl;
 
@@ -51,11 +51,10 @@
 
    // Constructors --------------------------------------------------
 
-   public ReplicationAwareQueueControlWrapper(final ObjectName objectName, 
-                                              final QueueControl localControl, 
+   public ReplicationAwareQueueControlWrapper(final QueueControl localControl, 
                                               final ReplicationOperationInvoker replicationInvoker) throws Exception
    {
-      super(objectName, QueueControlMBean.class, replicationInvoker);
+      super(ResourceNames.CORE_QUEUE + localControl.getName(), QueueControlMBean.class, replicationInvoker);
 
       this.localQueueControl = localControl;
    }

Modified: trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareStandardMBeanWrapper.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareStandardMBeanWrapper.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/core/management/jmx/impl/ReplicationAwareStandardMBeanWrapper.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -22,7 +22,6 @@
 
 package org.jboss.messaging.core.management.jmx.impl;
 
-import javax.management.ObjectName;
 import javax.management.StandardMBean;
 
 import org.jboss.messaging.core.management.ReplicationOperationInvoker;
@@ -43,7 +42,7 @@
 
    // Attributes ----------------------------------------------------
 
-   private final ObjectName objectName;
+   private final String resourceName;
 
    private final ReplicationOperationInvoker replicationInvoker;
 
@@ -51,13 +50,13 @@
 
    // Constructors --------------------------------------------------
 
-   protected ReplicationAwareStandardMBeanWrapper(final ObjectName objectName,
+   protected ReplicationAwareStandardMBeanWrapper(final String resourceName,
                                                   final Class mbeanInterface,
                                                   final ReplicationOperationInvoker replicationInvoker) throws Exception
    {
       super(mbeanInterface);
 
-      this.objectName = objectName;
+      this.resourceName = resourceName;
       this.replicationInvoker = replicationInvoker;
    }
 
@@ -69,7 +68,7 @@
 
    protected Object replicationAwareInvoke(final String operationName, final Object... parameters) throws Exception
    {
-      return replicationInvoker.invoke(objectName, operationName, parameters);
+      return replicationInvoker.invoke(resourceName, operationName, parameters);
    }
 
    // Private -------------------------------------------------------

Modified: trunk/src/main/org/jboss/messaging/core/server/cluster/impl/BridgeImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/cluster/impl/BridgeImpl.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/core/server/cluster/impl/BridgeImpl.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -61,7 +61,7 @@
 import org.jboss.messaging.core.filter.impl.FilterImpl;
 import org.jboss.messaging.core.logging.Logger;
 import org.jboss.messaging.core.management.NotificationType;
-import org.jboss.messaging.core.management.ObjectNames;
+import org.jboss.messaging.core.management.ResourceNames;
 import org.jboss.messaging.core.message.Message;
 import org.jboss.messaging.core.message.impl.MessageImpl;
 import org.jboss.messaging.core.persistence.StorageManager;
@@ -691,7 +691,7 @@
             ClientMessage message = session.createClientMessage(false);
 
             ManagementHelper.putOperationInvocation(message,
-                                                    ObjectNames.getMessagingServerObjectName(),
+                                                    ResourceNames.CORE_SERVER,
                                                     "sendQueueInfoToQueue",
                                                     notifQueueName.toString(),
                                                     flowRecord.getAddress());

Modified: trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSManagementHelper.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSManagementHelper.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSManagementHelper.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -21,16 +21,15 @@
 
 package org.jboss.messaging.jms.server.management.impl;
 
-import static org.jboss.messaging.core.client.management.impl.ManagementHelper.HDR_JMX_ATTRIBUTE;
-import static org.jboss.messaging.core.client.management.impl.ManagementHelper.HDR_JMX_OBJECTNAME;
-import static org.jboss.messaging.core.client.management.impl.ManagementHelper.HDR_JMX_OPERATION_EXCEPTION;
-import static org.jboss.messaging.core.client.management.impl.ManagementHelper.HDR_JMX_OPERATION_NAME;
-import static org.jboss.messaging.core.client.management.impl.ManagementHelper.HDR_JMX_OPERATION_PREFIX;
-import static org.jboss.messaging.core.client.management.impl.ManagementHelper.HDR_JMX_OPERATION_SUCCEEDED;
+import static org.jboss.messaging.core.client.management.impl.ManagementHelper.HDR_ATTRIBUTE;
+import static org.jboss.messaging.core.client.management.impl.ManagementHelper.HDR_RESOURCE_NAME;
+import static org.jboss.messaging.core.client.management.impl.ManagementHelper.HDR_OPERATION_EXCEPTION;
+import static org.jboss.messaging.core.client.management.impl.ManagementHelper.HDR_OPERATION_NAME;
+import static org.jboss.messaging.core.client.management.impl.ManagementHelper.HDR_OPERATION_PREFIX;
+import static org.jboss.messaging.core.client.management.impl.ManagementHelper.HDR_OPERATION_SUCCEEDED;
 
 import javax.jms.JMSException;
 import javax.jms.Message;
-import javax.management.ObjectName;
 
 /*
  * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
@@ -46,34 +45,34 @@
 
    // Static --------------------------------------------------------
 
-   public static void putAttribute(final Message message, final ObjectName objectName, final String attribute) throws JMSException
+   public static void putAttribute(final Message message, final String resourceName, final String attribute) throws JMSException
    {
-      message.setStringProperty(HDR_JMX_OBJECTNAME.toString(), objectName.toString());
-      message.setStringProperty(HDR_JMX_ATTRIBUTE.toString(), attribute);
+      message.setStringProperty(HDR_RESOURCE_NAME.toString(), resourceName);
+      message.setStringProperty(HDR_ATTRIBUTE.toString(), attribute);
    }
 
    public static void putOperationInvocation(final Message message,
-                                             final ObjectName objectName,
+                                             final String resourceName,
                                              final String operationName,
                                              final Object... parameters) throws JMSException
    {
       // store the name of the operation...
-      message.setStringProperty(HDR_JMX_OBJECTNAME.toString(), objectName.toString());
-      message.setStringProperty(HDR_JMX_OPERATION_NAME.toString(), operationName);
+      message.setStringProperty(HDR_RESOURCE_NAME.toString(), resourceName);
+      message.setStringProperty(HDR_OPERATION_NAME.toString(), operationName);
       // ... and all the parameters (preserving their types)
       for (int i = 0; i < parameters.length; i++)
       {
          Object parameter = parameters[i];
          // use a zero-filled 2-padded index:
          // if there is more than 10 parameters, order is preserved (e.g. 02 will be before 10)
-         String key = String.format("%s%02d", HDR_JMX_OPERATION_PREFIX, i);
+         String key = String.format("%s%02d", HDR_OPERATION_PREFIX, i);
          storeTypedProperty(message, key, parameter);
       }
    }
 
    public static boolean isOperationResult(final Message message) throws JMSException
    {
-      return message.propertyExists(HDR_JMX_OPERATION_SUCCEEDED.toString());
+      return message.propertyExists(HDR_OPERATION_SUCCEEDED.toString());
    }
 
    public static boolean isAttributesResult(final Message message) throws JMSException
@@ -87,18 +86,18 @@
       {
          return false;
       }
-      if (message.propertyExists(HDR_JMX_OPERATION_SUCCEEDED.toString()))
+      if (message.propertyExists(HDR_OPERATION_SUCCEEDED.toString()))
       {
-         return message.getBooleanProperty(HDR_JMX_OPERATION_SUCCEEDED.toString());
+         return message.getBooleanProperty(HDR_OPERATION_SUCCEEDED.toString());
       }
       return false;
    }
 
    public static String getOperationExceptionMessage(final Message message) throws JMSException
    {
-      if (message.propertyExists(HDR_JMX_OPERATION_EXCEPTION.toString()))
+      if (message.propertyExists(HDR_OPERATION_EXCEPTION.toString()))
       {
-         return message.getStringProperty(HDR_JMX_OPERATION_EXCEPTION.toString());
+         return message.getStringProperty(HDR_OPERATION_EXCEPTION.toString());
       }
       return null;
    }

Modified: trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSManagementServiceImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSManagementServiceImpl.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSManagementServiceImpl.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -29,6 +29,7 @@
 
 import org.jboss.messaging.core.management.ManagementService;
 import org.jboss.messaging.core.management.ObjectNames;
+import org.jboss.messaging.core.management.ResourceNames;
 import org.jboss.messaging.core.messagecounter.MessageCounter;
 import org.jboss.messaging.core.messagecounter.MessageCounterManager;
 import org.jboss.messaging.core.persistence.StorageManager;
@@ -71,24 +72,24 @@
 
    // JMSManagementRegistration implementation ----------------------
 
-   public void registerJMSServer(final JMSServerManager server) throws Exception
+   public synchronized void registerJMSServer(final JMSServerManager server) throws Exception
    {
       ObjectName objectName = ObjectNames.getJMSServerObjectName();
       JMSServerControl control = new JMSServerControl(server);
       managementService.registerInJMX(objectName,
-                                      new ReplicationAwareJMSServerControlWrapper(objectName, 
-                                                                                  control, 
+                                      new ReplicationAwareJMSServerControlWrapper(control, 
                                                                                   managementService.getReplicationOperationInvoker()));
-      managementService.registerInRegistry(objectName, control);
+      managementService.registerInRegistry(ResourceNames.JMS_SERVER, control);
    }
 
-   public void unregisterJMSServer() throws Exception
+   public synchronized void unregisterJMSServer() throws Exception
    {
       ObjectName objectName = ObjectNames.getJMSServerObjectName();
-      managementService.unregisterResource(objectName);
+      managementService.unregisterFromJMX(objectName);
+      managementService.unregisterFromRegistry(ResourceNames.JMS_SERVER);
    }
 
-   public void registerQueue(final JBossQueue queue,
+   public synchronized void registerQueue(final JBossQueue queue,
                              final Queue coreQueue,
                              final String jndiBinding,
                              final PostOffice postOffice,
@@ -111,19 +112,19 @@
                                                     addressSettingsRepository,
                                                     counter);
       managementService.registerInJMX(objectName,
-                                      new ReplicationAwareJMSQueueControlWrapper(objectName, 
-                                                                                 control, 
+                                      new ReplicationAwareJMSQueueControlWrapper(control, 
                                                                                  managementService.getReplicationOperationInvoker()));
-      managementService.registerInRegistry(objectName, control);
+      managementService.registerInRegistry(ResourceNames.JMS_QUEUE + queue.getQueueName(), control);
    }
 
-   public void unregisterQueue(final String name) throws Exception
+   public synchronized void unregisterQueue(final String name) throws Exception
    {
       ObjectName objectName = ObjectNames.getJMSQueueObjectName(name);
-      managementService.unregisterResource(objectName);
+      managementService.unregisterFromJMX(objectName);
+      managementService.unregisterFromRegistry(ResourceNames.JMS_QUEUE + name);
    }
 
-   public void registerTopic(final JBossTopic topic,
+   public synchronized void registerTopic(final JBossTopic topic,
                              final String jndiBinding,
                              final PostOffice postOffice,
                              final StorageManager storageManager,
@@ -131,35 +132,35 @@
    {
       ObjectName objectName = ObjectNames.getJMSTopicObjectName(topic.getTopicName());
       TopicControl control = new TopicControl(topic, jndiBinding, postOffice);
-      managementService.registerInJMX(objectName, new ReplicationAwareTopicControlWrapper(objectName,
-                                                                                          control,
+      managementService.registerInJMX(objectName, new ReplicationAwareTopicControlWrapper(control,
                                                                                           managementService.getReplicationOperationInvoker()));
-      managementService.registerInRegistry(objectName, control);
+      managementService.registerInRegistry(ResourceNames.JMS_TOPIC + topic.getTopicName(), control);
    }
 
-   public void unregisterTopic(final String name) throws Exception
+   public synchronized void unregisterTopic(final String name) throws Exception
    {
       ObjectName objectName = ObjectNames.getJMSTopicObjectName(name);
-      managementService.unregisterResource(objectName);
+      managementService.unregisterFromJMX(objectName);
+      managementService.unregisterFromRegistry(ResourceNames.JMS_TOPIC + name);
    }
 
-   public void registerConnectionFactory(final String name,
+   public synchronized void registerConnectionFactory(final String name,
                                          final JBossConnectionFactory connectionFactory,
                                          final List<String> bindings) throws Exception
    {
       ObjectName objectName = ObjectNames.getConnectionFactoryObjectName(name);
       ConnectionFactoryControl control = new ConnectionFactoryControl(connectionFactory, name, bindings);
       managementService.registerInJMX(objectName,
-                                      new ReplicationAwareConnectionFactoryControlWrapper(objectName,
-                                                                                          control,
+                                      new ReplicationAwareConnectionFactoryControlWrapper(control,
                                                                                           managementService.getReplicationOperationInvoker()));
-      managementService.registerInRegistry(objectName, control);
+      managementService.registerInRegistry(ResourceNames.JMS_CONNECTION_FACTORY + name, control);
    }
 
-   public void unregisterConnectionFactory(final String name) throws Exception
+   public synchronized void unregisterConnectionFactory(final String name) throws Exception
    {
       ObjectName objectName = ObjectNames.getConnectionFactoryObjectName(name);
-      managementService.unregisterResource(objectName);
+      managementService.unregisterFromJMX(objectName);
+      managementService.unregisterFromRegistry(ResourceNames.JMS_CONNECTION_FACTORY + name);
    }
 
    // Package protected ---------------------------------------------

Modified: trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareConnectionFactoryControlWrapper.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareConnectionFactoryControlWrapper.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareConnectionFactoryControlWrapper.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -25,9 +25,9 @@
 import java.util.List;
 
 import javax.management.MBeanInfo;
-import javax.management.ObjectName;
 
 import org.jboss.messaging.core.management.ReplicationOperationInvoker;
+import org.jboss.messaging.core.management.ResourceNames;
 import org.jboss.messaging.core.management.impl.MBeanInfoHelper;
 import org.jboss.messaging.core.management.jmx.impl.ReplicationAwareStandardMBeanWrapper;
 import org.jboss.messaging.jms.server.management.ConnectionFactoryControlMBean;
@@ -52,11 +52,10 @@
 
    // Constructors --------------------------------------------------
 
-   public ReplicationAwareConnectionFactoryControlWrapper(final ObjectName objectName,
-                                                          final ConnectionFactoryControl localControl,
+   public ReplicationAwareConnectionFactoryControlWrapper(final ConnectionFactoryControl localControl,
                                                           final ReplicationOperationInvoker replicationInvoker) throws Exception
    {
-      super(objectName, ConnectionFactoryControlMBean.class, replicationInvoker);
+      super(ResourceNames.JMS_CONNECTION_FACTORY + localControl.getName(), ConnectionFactoryControlMBean.class, replicationInvoker);
       this.localControl = localControl;
    }
 

Modified: trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareJMSQueueControlWrapper.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareJMSQueueControlWrapper.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareJMSQueueControlWrapper.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -23,11 +23,11 @@
 package org.jboss.messaging.jms.server.management.jmx.impl;
 
 import javax.management.MBeanInfo;
-import javax.management.ObjectName;
 import javax.management.openmbean.CompositeData;
 import javax.management.openmbean.TabularData;
 
 import org.jboss.messaging.core.management.ReplicationOperationInvoker;
+import org.jboss.messaging.core.management.ResourceNames;
 import org.jboss.messaging.core.management.impl.MBeanInfoHelper;
 import org.jboss.messaging.core.management.jmx.impl.ReplicationAwareStandardMBeanWrapper;
 import org.jboss.messaging.jms.server.management.JMSQueueControlMBean;
@@ -52,11 +52,10 @@
 
    // Constructors --------------------------------------------------
 
-   public ReplicationAwareJMSQueueControlWrapper(final ObjectName objectName, 
-                                                 final JMSQueueControl localControl,
+   public ReplicationAwareJMSQueueControlWrapper(final JMSQueueControl localControl,
                                                  final ReplicationOperationInvoker replicationInvoker) throws Exception
    {
-      super(objectName, JMSQueueControlMBean.class, replicationInvoker);
+      super(ResourceNames.JMS_QUEUE + localControl.getName(), JMSQueueControlMBean.class, replicationInvoker);
       this.localControl = localControl;
    }
 

Modified: trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareJMSServerControlWrapper.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareJMSServerControlWrapper.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareJMSServerControlWrapper.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -25,10 +25,10 @@
 import java.util.List;
 
 import javax.management.MBeanInfo;
-import javax.management.ObjectName;
 
 import org.jboss.messaging.core.config.TransportConfiguration;
 import org.jboss.messaging.core.management.ReplicationOperationInvoker;
+import org.jboss.messaging.core.management.ResourceNames;
 import org.jboss.messaging.core.management.impl.MBeanInfoHelper;
 import org.jboss.messaging.core.management.jmx.impl.ReplicationAwareStandardMBeanWrapper;
 import org.jboss.messaging.jms.server.management.JMSServerControlMBean;
@@ -54,11 +54,10 @@
 
    // Constructors --------------------------------------------------
 
-   public ReplicationAwareJMSServerControlWrapper(final ObjectName objectName,
-                                                  final JMSServerControl localControl,
+   public ReplicationAwareJMSServerControlWrapper(final JMSServerControl localControl,
                                                   final ReplicationOperationInvoker replicationInvoker) throws Exception
    {
-      super(objectName, JMSServerControlMBean.class, replicationInvoker);
+      super(ResourceNames.JMS_SERVER, JMSServerControlMBean.class, replicationInvoker);
       this.localControl = localControl;
    }
 

Modified: trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareTopicControlWrapper.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareTopicControlWrapper.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareTopicControlWrapper.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -23,10 +23,10 @@
 package org.jboss.messaging.jms.server.management.jmx.impl;
 
 import javax.management.MBeanInfo;
-import javax.management.ObjectName;
 import javax.management.openmbean.TabularData;
 
 import org.jboss.messaging.core.management.ReplicationOperationInvoker;
+import org.jboss.messaging.core.management.ResourceNames;
 import org.jboss.messaging.core.management.impl.MBeanInfoHelper;
 import org.jboss.messaging.core.management.jmx.impl.ReplicationAwareStandardMBeanWrapper;
 import org.jboss.messaging.jms.server.management.TopicControlMBean;
@@ -51,11 +51,10 @@
 
    // Constructors --------------------------------------------------
 
-   public ReplicationAwareTopicControlWrapper(final ObjectName objectName,
-                                              final TopicControl localControl,
+   public ReplicationAwareTopicControlWrapper(final TopicControl localControl,
                                               final ReplicationOperationInvoker replicationInvoker) throws Exception
    {
-      super(objectName, TopicControlMBean.class, replicationInvoker);
+      super(ResourceNames.JMS_TOPIC + localControl.getName(), TopicControlMBean.class, replicationInvoker);
       
       this.localControl = localControl;
    }

Modified: trunk/tests/jms-tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java
===================================================================
--- trunk/tests/jms-tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/jms-tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -22,8 +22,8 @@
 package org.jboss.test.messaging.tools.container;
 
 import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_CONNECTION_TTL;
+import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_FAILOVER_ON_SERVER_SHUTDOWN;
 import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_RECONNECT_ATTEMPTS;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_FAILOVER_ON_SERVER_SHUTDOWN;
 import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_RETRY_INTERVAL;
 import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_RETRY_INTERVAL_MULTIPLIER;
 
@@ -47,6 +47,7 @@
 import org.jboss.messaging.core.config.TransportConfiguration;
 import org.jboss.messaging.core.logging.Logger;
 import org.jboss.messaging.core.management.ObjectNames;
+import org.jboss.messaging.core.management.ResourceNames;
 import org.jboss.messaging.core.postoffice.Binding;
 import org.jboss.messaging.core.postoffice.BindingType;
 import org.jboss.messaging.core.security.Role;
@@ -402,9 +403,8 @@
 
    public Integer getMessageCountForQueue(String queueName) throws Exception
    {
-      ObjectName objectName = ObjectNames.getJMSQueueObjectName(queueName);
       JMSQueueControlMBean queue = (JMSQueueControlMBean)getMessagingServer().getManagementService()
-                                                                             .getResource(objectName);
+                                                                             .getResource(ResourceNames.JMS_QUEUE + queueName);
       if (queue != null)
       {
          return queue.getMessageCount();

Modified: trunk/tests/joram-tests/src/org/jboss/test/jms/JBossMessagingAdmin.java
===================================================================
--- trunk/tests/joram-tests/src/org/jboss/test/jms/JBossMessagingAdmin.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/joram-tests/src/org/jboss/test/jms/JBossMessagingAdmin.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -22,7 +22,17 @@
 
 package org.jboss.test.jms;
 
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.util.Hashtable;
+
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
 import junit.framework.Assert;
+
 import org.jboss.messaging.core.client.ClientMessage;
 import org.jboss.messaging.core.client.ClientRequestor;
 import org.jboss.messaging.core.client.ClientSession;
@@ -30,21 +40,12 @@
 import org.jboss.messaging.core.client.management.impl.ManagementHelper;
 import org.jboss.messaging.core.config.TransportConfiguration;
 import org.jboss.messaging.core.config.impl.ConfigurationImpl;
-import org.jboss.messaging.core.management.ObjectNames;
+import org.jboss.messaging.core.management.ResourceNames;
 import org.jboss.messaging.core.security.impl.SecurityStoreImpl;
 import org.jboss.messaging.integration.transports.netty.NettyConnectorFactory;
 import org.jboss.messaging.tests.util.SpawnedVMSupport;
 import org.objectweb.jtests.jms.admin.Admin;
 
-import javax.management.ObjectName;
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.util.Hashtable;
-
 /**
  * A JBossMessagingAdmin
  *
@@ -101,7 +102,7 @@
    {
       try
       {
-         invokeSyncOperation(ObjectNames.getJMSServerObjectName(),
+         invokeSyncOperation(ResourceNames.JMS_SERVER,
                              "createConnectionFactory",
                              name,
                              NettyConnectorFactory.class.getName(),
@@ -128,7 +129,7 @@
       Boolean result;
       try
       {
-         result = (Boolean)invokeSyncOperation(ObjectNames.getJMSServerObjectName(), "createQueue", name, name);
+         result = (Boolean)invokeSyncOperation(ResourceNames.JMS_SERVER, "createQueue", name, name);
          Assert.assertEquals(true, result.booleanValue());
       }
       catch (Exception e)
@@ -147,7 +148,7 @@
       Boolean result;
       try
       {
-         result = (Boolean)invokeSyncOperation(ObjectNames.getJMSServerObjectName(), "createTopic", name, name);
+         result = (Boolean)invokeSyncOperation(ResourceNames.JMS_SERVER, "createTopic", name, name);
          Assert.assertEquals(true, result.booleanValue());
       }
       catch (Exception e)
@@ -165,7 +166,7 @@
    {
       try
       {
-         invokeSyncOperation(ObjectNames.getJMSServerObjectName(), "destroyConnectionFactory", name);
+         invokeSyncOperation(ResourceNames.JMS_SERVER, "destroyConnectionFactory", name);
       }
       catch (Exception e)
       {
@@ -178,7 +179,7 @@
       Boolean result;
       try
       {
-         result = (Boolean)invokeSyncOperation(ObjectNames.getJMSServerObjectName(), "destroyQueue", name);
+         result = (Boolean)invokeSyncOperation(ResourceNames.JMS_SERVER, "destroyQueue", name);
          Assert.assertEquals(true, result.booleanValue());
       }
       catch (Exception e)
@@ -197,7 +198,7 @@
       Boolean result;
       try
       {
-         result = (Boolean)invokeSyncOperation(ObjectNames.getJMSServerObjectName(), "destroyTopic", name);
+         result = (Boolean)invokeSyncOperation(ResourceNames.JMS_SERVER, "destroyTopic", name);
          Assert.assertEquals(true, result.booleanValue());
       }
       catch (Exception e)
@@ -290,10 +291,10 @@
 
    // Private -------------------------------------------------------
 
-   private Object invokeSyncOperation(ObjectName objectName, String operationName, Object... parameters)
+   private Object invokeSyncOperation(String resourceName, String operationName, Object... parameters)
    {
       ClientMessage message = clientSession.createClientMessage(false);
-      ManagementHelper.putOperationInvocation(message, objectName, operationName, parameters);
+      ManagementHelper.putOperationInvocation(message, resourceName, operationName, parameters);
       ClientMessage reply;
       try
       {
@@ -301,17 +302,17 @@
       }
       catch (Exception e)
       {
-         throw new IllegalStateException("Exception while invoking " + operationName + " on " + objectName, e);
+         throw new IllegalStateException("Exception while invoking " + operationName + " on " + resourceName, e);
       }
       if (reply == null)
       {
-         throw new IllegalStateException("no reply received when invoking " + operationName + " on " + objectName);
+         throw new IllegalStateException("no reply received when invoking " + operationName + " on " + resourceName);
       }
       if (!ManagementHelper.hasOperationSucceeded(reply))
       {
          throw new IllegalStateException("operation failed when invoking " + operationName +
                                          " on " +
-                                         objectName +
+                                         resourceName +
                                          ": " +
                                          ManagementHelper.getOperationExceptionMessage(reply));
 

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/cluster/failover/FailoverManagementTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/cluster/failover/FailoverManagementTest.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/cluster/failover/FailoverManagementTest.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -41,7 +41,7 @@
 import org.jboss.messaging.core.config.impl.ConfigurationImpl;
 import org.jboss.messaging.core.exception.MessagingException;
 import org.jboss.messaging.core.logging.Logger;
-import org.jboss.messaging.core.management.ObjectNames;
+import org.jboss.messaging.core.management.ResourceNames;
 import org.jboss.messaging.core.remoting.RemotingConnection;
 import org.jboss.messaging.core.remoting.impl.invm.InVMRegistry;
 import org.jboss.messaging.core.remoting.impl.invm.TransportConstants;
@@ -114,7 +114,7 @@
          ClientMessage managementMessage  = session1.createClientMessage(false);
          
          ManagementHelper.putAttribute(managementMessage,
-                                        ObjectNames.getQueueObjectName(ADDRESS, ADDRESS),
+                                        ResourceNames.CORE_QUEUE + ADDRESS,
                                         "MessageCount");
          managementMessage.putStringProperty(ClientMessageImpl.REPLYTO_HEADER_NAME, replyTo);
          
@@ -133,7 +133,7 @@
          ClientMessage managementMessage  = session1.createClientMessage(false);
          
          ManagementHelper.putAttribute(managementMessage,
-                                        ObjectNames.getQueueObjectName(ADDRESS, ADDRESS),
+                                        ResourceNames.CORE_QUEUE + ADDRESS,
                                         "MessageCount");
          managementMessage.putStringProperty(ClientMessageImpl.REPLYTO_HEADER_NAME, replyTo);
          
@@ -203,7 +203,7 @@
          ClientMessage managementMessage  = session1.createClientMessage(false);
          
          ManagementHelper.putAttribute(managementMessage,
-                                        ObjectNames.getQueueObjectName(ADDRESS, ADDRESS),
+                                        ResourceNames.CORE_QUEUE + ADDRESS,
                                         "MessageCount");
          managementMessage.putStringProperty(ClientMessageImpl.REPLYTO_HEADER_NAME, replyTo);
          

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/jms/bridge/BridgeTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/jms/bridge/BridgeTestBase.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/jms/bridge/BridgeTestBase.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -51,7 +51,6 @@
 import javax.jms.Session;
 import javax.jms.TextMessage;
 import javax.jms.Topic;
-import javax.management.ObjectName;
 import javax.transaction.TransactionManager;
 
 import com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple;
@@ -61,7 +60,7 @@
 import org.jboss.messaging.core.config.impl.ConfigurationImpl;
 import org.jboss.messaging.core.logging.Logger;
 import org.jboss.messaging.core.management.ManagementService;
-import org.jboss.messaging.core.management.ObjectNames;
+import org.jboss.messaging.core.management.ResourceNames;
 import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
 import org.jboss.messaging.core.remoting.impl.invm.TransportConstants;
 import org.jboss.messaging.core.server.Messaging;
@@ -456,8 +455,7 @@
       {
          managementService = server1.getManagementService();
       }
-      ObjectName objectName = ObjectNames.getJMSQueueObjectName(queue.getQueueName());
-      JMSQueueControlMBean queueControl = (JMSQueueControlMBean)managementService.getResource(objectName);
+      JMSQueueControlMBean queueControl = (JMSQueueControlMBean)managementService.getResource(ResourceNames.JMS_QUEUE + queue.getQueueName());
 
       Integer messageCount = queueControl.getMessageCount();
 
@@ -475,8 +473,7 @@
       {
          managementService = server1.getManagementService();
       }
-      ObjectName objectName = ObjectNames.getJMSTopicObjectName(topic.getTopicName());
-      TopicControlMBean topicControl = (TopicControlMBean)managementService.getResource(objectName);
+      TopicControlMBean topicControl = (TopicControlMBean)managementService.getResource(ResourceNames.JMS_TOPIC + topic.getTopicName());
       assertEquals(0, topicControl.getSubcriptionsCount());
 
    }
@@ -488,8 +485,7 @@
       {
          managementService = server1.getManagementService();
       }
-      ObjectName objectName = ObjectNames.getJMSQueueObjectName(queueName);
-      JMSQueueControlMBean queueControl = (JMSQueueControlMBean)managementService.getResource(objectName);
+      JMSQueueControlMBean queueControl = (JMSQueueControlMBean)managementService.getResource(ResourceNames.JMS_QUEUE + queueName);
       queueControl.removeAllMessages();
    }
 

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/JMSMessagingProxy.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/JMSMessagingProxy.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/JMSMessagingProxy.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -28,7 +28,6 @@
 import javax.jms.QueueRequestor;
 import javax.jms.QueueSession;
 import javax.jms.Session;
-import javax.management.ObjectName;
 
 import org.jboss.messaging.jms.server.management.impl.JMSManagementHelper;
 
@@ -46,7 +45,7 @@
 
    // Attributes ----------------------------------------------------
 
-   private final ObjectName on;
+   private final String resourceName;
 
    private Session session;
 
@@ -56,11 +55,11 @@
 
    // Constructors --------------------------------------------------
 
-   public JMSMessagingProxy(QueueSession session, Queue managementQueue, ObjectName objectName) throws Exception
+   public JMSMessagingProxy(QueueSession session, Queue managementQueue, String resourceName) throws Exception
    {
       this.session = session;
 
-      this.on = objectName;
+      this.resourceName = resourceName;
 
       this.requestor = new QueueRequestor(session, managementQueue);
    }
@@ -76,7 +75,7 @@
       try
       {
          Message m = session.createMessage();
-         JMSManagementHelper.putAttribute(m, on, attributeName);
+         JMSManagementHelper.putAttribute(m, resourceName, attributeName);
          ObjectMessage reply = (ObjectMessage)requestor.request(m);
          return reply.getObject();
       }
@@ -89,7 +88,7 @@
    public Object invokeOperation(String operationName, Object... args) throws Exception
    {
       Message m = session.createMessage();
-      JMSManagementHelper.putOperationInvocation(m, on, operationName, args);
+      JMSManagementHelper.putOperationInvocation(m, resourceName, operationName, args);
       ObjectMessage reply = (ObjectMessage)requestor.request(m);
       if (JMSManagementHelper.hasOperationSucceeded(reply))
       {

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/JMSQueueControlUsingJMSTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/JMSQueueControlUsingJMSTest.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/JMSQueueControlUsingJMSTest.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -31,7 +31,7 @@
 import javax.management.openmbean.TabularData;
 
 import org.jboss.messaging.core.config.TransportConfiguration;
-import org.jboss.messaging.core.management.ObjectNames;
+import org.jboss.messaging.core.management.ResourceNames;
 import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
 import org.jboss.messaging.jms.JBossQueue;
 import org.jboss.messaging.jms.client.JBossConnectionFactory;
@@ -85,7 +85,7 @@
                      DEFAULT_MANAGEMENT_ADDRESS.toString());
       final JMSMessagingProxy proxy = new JMSMessagingProxy(session,
                                                             managementQueue,
-                                                            ObjectNames.getJMSQueueObjectName(queue.getQueueName()));
+                                                            ResourceNames.JMS_QUEUE + queue.getQueueName());
       
       return new JMSQueueControlMBean()
       {

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/JMSServerControlUsingJMSTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/JMSServerControlUsingJMSTest.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/JMSServerControlUsingJMSTest.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -31,7 +31,7 @@
 import javax.jms.Session;
 
 import org.jboss.messaging.core.config.TransportConfiguration;
-import org.jboss.messaging.core.management.ObjectNames;
+import org.jboss.messaging.core.management.ResourceNames;
 import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
 import org.jboss.messaging.jms.JBossQueue;
 import org.jboss.messaging.jms.client.JBossConnectionFactory;
@@ -91,8 +91,8 @@
                      DEFAULT_MANAGEMENT_ADDRESS.toString());
       final JMSMessagingProxy proxy = new JMSMessagingProxy(session,
                                                             managementQueue,
-                                                            ObjectNames.getJMSServerObjectName());
-
+                                                            ResourceNames.JMS_SERVER);
+      
       return new JMSServerControlMBean()
       {
 

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/TopicControlUsingJMSTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/TopicControlUsingJMSTest.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/jms/management/TopicControlUsingJMSTest.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -27,15 +27,13 @@
 import javax.jms.QueueConnection;
 import javax.jms.QueueSession;
 import javax.jms.Session;
-import javax.management.openmbean.CompositeData;
 import javax.management.openmbean.TabularData;
 
 import org.jboss.messaging.core.config.TransportConfiguration;
-import org.jboss.messaging.core.management.ObjectNames;
+import org.jboss.messaging.core.management.ResourceNames;
 import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
 import org.jboss.messaging.jms.JBossQueue;
 import org.jboss.messaging.jms.client.JBossConnectionFactory;
-import org.jboss.messaging.jms.server.management.JMSQueueControlMBean;
 import org.jboss.messaging.jms.server.management.TopicControlMBean;
 
 /**
@@ -86,7 +84,7 @@
                                                   DEFAULT_MANAGEMENT_ADDRESS.toString());
       final JMSMessagingProxy proxy = new JMSMessagingProxy(session,
                                                             managementQueue,
-                                                            ObjectNames.getJMSTopicObjectName(topic.getTopicName()));
+                                                            ResourceNames.JMS_TOPIC + topic.getTopicName());
 
       return new TopicControlMBean()
       {

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/AcceptorControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/AcceptorControlTest.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/AcceptorControlTest.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -22,7 +22,6 @@
 
 package org.jboss.messaging.tests.integration.management;
 
-import static org.jboss.messaging.tests.integration.management.ManagementControlHelper.createAcceptorControl;
 import static org.jboss.messaging.tests.util.RandomUtil.randomString;
 
 import java.util.HashMap;
@@ -36,10 +35,9 @@
 import org.jboss.messaging.core.logging.Logger;
 import org.jboss.messaging.core.management.AcceptorControlMBean;
 import org.jboss.messaging.core.remoting.impl.invm.InVMAcceptorFactory;
+import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
 import org.jboss.messaging.core.server.Messaging;
 import org.jboss.messaging.core.server.MessagingServer;
-import org.jboss.messaging.integration.transports.netty.NettyAcceptorFactory;
-import org.jboss.messaging.integration.transports.netty.NettyConnectorFactory;
 
 /**
  * A AcceptorControlTest
@@ -81,7 +79,7 @@
       service = Messaging.newNullStorageMessagingServer(conf, mbeanServer);
       service.start();
 
-      AcceptorControlMBean acceptorControl = createAcceptorControl(acceptorConfig.getName(), mbeanServer);
+      AcceptorControlMBean acceptorControl = createManagementControl(acceptorConfig.getName());
 
       assertEquals(acceptorConfig.getName(), acceptorControl.getName());
       assertEquals(acceptorConfig.getFactoryClassName(), acceptorControl.getFactoryClassName());
@@ -89,7 +87,7 @@
 
    public void testStartStop() throws Exception
    {
-      TransportConfiguration acceptorConfig = new TransportConfiguration(NettyAcceptorFactory.class.getName(),
+      TransportConfiguration acceptorConfig = new TransportConfiguration(InVMAcceptorFactory.class.getName(),
                                                                          new HashMap<String, Object>(),
                                                                          randomString());
       Configuration conf = new ConfigurationImpl();
@@ -99,12 +97,12 @@
       service = Messaging.newNullStorageMessagingServer(conf, mbeanServer);
       service.start();
 
-      AcceptorControlMBean acceptorControl = createAcceptorControl(acceptorConfig.getName(), mbeanServer);
+      AcceptorControlMBean acceptorControl = createManagementControl(acceptorConfig.getName());
 
       // started by the server
       assertTrue(acceptorControl.isStarted());
 
-      ClientSessionFactory sf = new ClientSessionFactoryImpl(new TransportConfiguration(NettyConnectorFactory.class.getName()));
+      ClientSessionFactory sf = new ClientSessionFactoryImpl(new TransportConfiguration(InVMConnectorFactory.class.getName()));
       ClientSession session = sf.createSession(false, true, true);
       assertNotNull(session);
       session.close();
@@ -203,6 +201,11 @@
       super.tearDown();
    }
    
+   protected AcceptorControlMBean createManagementControl(String name) throws Exception
+   {
+      return ManagementControlHelper.createAcceptorControl(name, mbeanServer);
+   }
+   
    // Private -------------------------------------------------------
 
    // Inner classes -------------------------------------------------

Added: trunk/tests/src/org/jboss/messaging/tests/integration/management/AcceptorControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/AcceptorControlUsingCoreTest.java	                        (rev 0)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/AcceptorControlUsingCoreTest.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -0,0 +1,141 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005-2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.messaging.tests.integration.management;
+
+import javax.management.openmbean.TabularData;
+
+import org.jboss.messaging.core.client.ClientSession;
+import org.jboss.messaging.core.client.ClientSessionFactory;
+import org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl;
+import org.jboss.messaging.core.config.TransportConfiguration;
+import org.jboss.messaging.core.management.AcceptorControlMBean;
+import org.jboss.messaging.core.management.ResourceNames;
+import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
+
+/**
+ * A AcceptorControlUsingCoreTest
+ *
+ * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
+ *
+ *
+ */
+public class AcceptorControlUsingCoreTest extends AcceptorControlTest
+{
+
+   // Constants -----------------------------------------------------
+
+   // Attributes ----------------------------------------------------
+
+   // Static --------------------------------------------------------
+
+   // Constructors --------------------------------------------------
+
+   // AcceptorControlTest overrides --------------------------------
+
+   private ClientSession session;
+
+   @Override
+   protected AcceptorControlMBean createManagementControl(final String name) throws Exception
+   {
+      ClientSessionFactory sf = new ClientSessionFactoryImpl(new TransportConfiguration(InVMConnectorFactory.class.getName()));
+      session = sf.createSession(false, true, true);
+      session.start();
+
+      return new AcceptorControlMBean()
+      {
+
+         private final CoreMessagingProxy proxy = new CoreMessagingProxy(session,
+                                                                         ResourceNames.CORE_ACCEPTOR + name);
+
+         public String getFactoryClassName()
+         {
+            return (String)proxy.retrieveAttributeValue("FactoryClassName");
+         }
+
+         public String getName()
+         {
+            return (String)proxy.retrieveAttributeValue("Name");
+         }
+
+         public TabularData getParameters()
+         {
+            return (TabularData)proxy.retrieveAttributeValue("Parameters");
+         }
+
+         public void pause() throws Exception
+         {
+            proxy.invokeOperation("pause");
+         }
+
+         public void resume() throws Exception
+         {
+            proxy.invokeOperation("resume");
+         }
+
+         public boolean isStarted()
+         {
+            return (Boolean)proxy.retrieveAttributeValue("Started");
+         }
+
+         public void start() throws Exception
+         {
+            proxy.invokeOperation("start");
+         }
+
+         public void stop() throws Exception
+         {
+            proxy.invokeOperation("stop");
+         }
+
+      };
+   }
+
+   // Public --------------------------------------------------------
+
+   @Override
+   public void testStartStop() throws Exception
+   {
+      // this test does not make sense when using core messages:
+      // the acceptor must be started to receive the management messages
+   }
+
+   // Package protected ---------------------------------------------
+
+   // Protected -----------------------------------------------------
+
+   @Override
+   protected void tearDown() throws Exception
+   {
+      if (session != null)
+      {
+         session.close();
+      }
+
+      super.tearDown();
+   }
+
+   // Private -------------------------------------------------------
+
+   // Inner classes -------------------------------------------------
+
+}

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/AddressControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/AddressControlUsingCoreTest.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/AddressControlUsingCoreTest.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -22,14 +22,12 @@
 
 package org.jboss.messaging.tests.integration.management;
 
+import javax.management.openmbean.TabularData;
+
 import org.jboss.messaging.core.management.AddressControlMBean;
-import org.jboss.messaging.core.management.ObjectNames;
-import org.jboss.messaging.core.management.Operation;
-import org.jboss.messaging.core.management.Parameter;
+import org.jboss.messaging.core.management.ResourceNames;
 import org.jboss.messaging.utils.SimpleString;
 
-import javax.management.openmbean.TabularData;
-
 /**
  * A JMXQueueControlTest
  *
@@ -55,13 +53,26 @@
    {
       return new AddressControlMBean()
       {
-         private final CoreMessagingProxy proxy = new CoreMessagingProxy(session,
-                                                                         ObjectNames.getAddressObjectName(address));
+         private final CoreMessagingProxy proxy = new CoreMessagingProxy(session, ResourceNames.CORE_ADDRESS + address);
 
-         @Operation(desc = "Add a Role to this address")
-         public void addRole(@Parameter(name = "name", desc = "Name of the role to add")String name, @Parameter(name = "send", desc = "Can the user send to an address?")boolean send, @Parameter(name = "consume", desc = "Can the user consume from this address?")boolean consume, @Parameter(name = "createDurableQueue", desc = "Can the user create a durable queue?")boolean createDurableQueue, @Parameter(name = "deleteDurableQueue", desc = "Can the user delete a durable queue?")boolean deleteDurableQueue, @Parameter(name = "createNonDurableQueue", desc = "Can the user create a temp queue?")boolean createNonDurableQueue, @Parameter(name = "deleteNonDurableQueue", desc = "Can the user delete a temp queue?")boolean deleteNonDurableQueue, @Parameter(name = "manage", desc = "Can the user send management messages?")boolean manage) throws Exception
+         public void addRole(String name,
+                             boolean send,
+                             boolean consume,
+                             boolean createDurableQueue,
+                             boolean deleteDurableQueue,
+                             boolean createNonDurableQueue,
+                             boolean deleteNonDurableQueue,
+                             boolean manage) throws Exception
          {
-            proxy.invokeOperation("addRole", name, send, consume,  createDurableQueue, deleteDurableQueue, createNonDurableQueue, deleteNonDurableQueue, manage);
+            proxy.invokeOperation("addRole",
+                                  name,
+                                  send,
+                                  consume,
+                                  createDurableQueue,
+                                  deleteDurableQueue,
+                                  createNonDurableQueue,
+                                  deleteNonDurableQueue,
+                                  manage);
          }
 
          public String getAddress()
@@ -85,7 +96,6 @@
          }
       };
    }
-
    // Public --------------------------------------------------------
 
    // Package protected ---------------------------------------------

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/BridgeControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/BridgeControlTest.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/BridgeControlTest.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -47,7 +47,6 @@
 import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
 import org.jboss.messaging.core.server.Messaging;
 import org.jboss.messaging.core.server.MessagingServer;
-import org.jboss.messaging.core.server.impl.MessagingServerImpl;
 import org.jboss.messaging.utils.Pair;
 
 /**

Added: trunk/tests/src/org/jboss/messaging/tests/integration/management/BridgeControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/BridgeControlUsingCoreTest.java	                        (rev 0)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/BridgeControlUsingCoreTest.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -0,0 +1,168 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005-2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.messaging.tests.integration.management;
+
+import javax.management.MBeanServer;
+import javax.management.openmbean.CompositeData;
+
+import org.jboss.messaging.core.client.ClientSession;
+import org.jboss.messaging.core.client.ClientSessionFactory;
+import org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl;
+import org.jboss.messaging.core.config.TransportConfiguration;
+import org.jboss.messaging.core.management.BridgeControlMBean;
+import org.jboss.messaging.core.management.ResourceNames;
+import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
+
+/**
+ * A BridgeControlUsingCoreTest
+ *
+ * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
+ *
+ *
+ */
+public class BridgeControlUsingCoreTest extends BridgeControlTest
+{
+
+   // Constants -----------------------------------------------------
+
+   // Attributes ----------------------------------------------------
+
+   private ClientSession session;
+
+   // Static --------------------------------------------------------
+
+   // Constructors --------------------------------------------------
+
+   // BridgeControlTest overrides --------------------------------
+
+   @Override
+   protected BridgeControlMBean createBridgeControl(final String name, MBeanServer mbeanServer) throws Exception
+   {
+      ClientSessionFactory sf = new ClientSessionFactoryImpl(new TransportConfiguration(InVMConnectorFactory.class.getName()));
+      session = sf.createSession(false, true, true);
+      session.start();
+
+      return new BridgeControlMBean()
+      {
+         private final CoreMessagingProxy proxy = new CoreMessagingProxy(session,
+                                                                         ResourceNames.CORE_BRIDGE + name);
+         
+         public CompositeData getConnectorPair() throws Exception
+         {
+            return (CompositeData)proxy.retrieveAttributeValue("ConnectorPair");
+         }
+
+         public String getDiscoveryGroupName()
+         {
+            return (String)proxy.retrieveAttributeValue("DiscoveryGroupName");
+         }
+
+         public String getFilterString()
+         {
+            return (String)proxy.retrieveAttributeValue("FilterString");
+         }
+
+         public String getForwardingAddress()
+         {
+            return (String)proxy.retrieveAttributeValue("ForwardingAddress");
+         }
+
+         public String getName()
+         {
+            return (String)proxy.retrieveAttributeValue("Name");
+         }
+
+         public String getQueueName()
+         {
+            return (String)proxy.retrieveAttributeValue("QueueName");
+         }
+
+         public int getReconnectAttempts()
+         {
+            return (Integer)proxy.retrieveAttributeValue("ReconnectAttempts");
+         }
+
+         public long getRetryInterval()
+         {
+            return (Long)proxy.retrieveAttributeValue("RetryInterval");
+         }
+
+         public double getRetryIntervalMultiplier()
+         {
+            return (Double)proxy.retrieveAttributeValue("RetryIntervalMultiplier");
+         }
+
+         public String getTransformerClassName()
+         {
+            return (String)proxy.retrieveAttributeValue("TransformerClassName");
+         }
+
+         public boolean isFailoverOnServerShutdown()
+         {
+            return (Boolean)proxy.retrieveAttributeValue("FailoverOnServerShutdown");
+         }
+
+         public boolean isUseDuplicateDetection()
+         {
+            return (Boolean)proxy.retrieveAttributeValue("UseDuplicateDetection");
+         }
+
+         public boolean isStarted()
+         {
+            return (Boolean)proxy.retrieveAttributeValue("Started");
+         }
+
+         public void start() throws Exception
+         {
+            proxy.invokeOperation("start");
+         }
+
+         public void stop() throws Exception
+         {
+            proxy.invokeOperation("stop");
+         }
+      };
+   }
+
+   // Public --------------------------------------------------------
+
+   // Package protected ---------------------------------------------
+
+   // Protected -----------------------------------------------------
+
+   @Override
+   protected void tearDown() throws Exception
+   {
+      if (session != null)
+      {
+         session.close();
+      }
+
+      super.tearDown();
+   }
+   
+   // Private -------------------------------------------------------
+
+   // Inner classes -------------------------------------------------
+
+}

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/BroadcastGroupControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/BroadcastGroupControlTest.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/BroadcastGroupControlTest.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -22,8 +22,6 @@
 
 package org.jboss.messaging.tests.integration.management;
 
-import static org.jboss.messaging.tests.integration.management.ManagementControlHelper.createBroadcastGroupControl;
-import static org.jboss.messaging.tests.util.RandomUtil.randomPort;
 import static org.jboss.messaging.tests.util.RandomUtil.randomPositiveInt;
 import static org.jboss.messaging.tests.util.RandomUtil.randomString;
 
@@ -98,7 +96,7 @@
       service = Messaging.newNullStorageMessagingServer(conf, mbeanServer);
       service.start();
 
-      BroadcastGroupControlMBean broadcastGroupControl = createBroadcastGroupControl(broadcastGroupConfig.getName(), mbeanServer);
+      BroadcastGroupControlMBean broadcastGroupControl = createManagementControl(broadcastGroupConfig.getName());
 
       assertEquals(broadcastGroupConfig.getName(), broadcastGroupControl.getName());
       assertEquals(broadcastGroupConfig.getGroupAddress(), broadcastGroupControl.getGroupAddress());
@@ -131,7 +129,7 @@
       service = Messaging.newNullStorageMessagingServer(conf, mbeanServer);
       service.start();
 
-      BroadcastGroupControlMBean broadcastGroupControl = createBroadcastGroupControl(broadcastGroupConfig.getName(), mbeanServer);
+      BroadcastGroupControlMBean broadcastGroupControl = createManagementControl(broadcastGroupConfig.getName());
 
       // started by the server
       assertTrue(broadcastGroupControl.isStarted());
@@ -157,6 +155,11 @@
 
       super.tearDown();
    }
+   
+   protected BroadcastGroupControlMBean createManagementControl(String name) throws Exception
+   {
+      return ManagementControlHelper.createBroadcastGroupControl(name, mbeanServer);
+   }
    // Private -------------------------------------------------------
 
    // Inner classes -------------------------------------------------

Added: trunk/tests/src/org/jboss/messaging/tests/integration/management/BroadcastGroupControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/BroadcastGroupControlUsingCoreTest.java	                        (rev 0)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/BroadcastGroupControlUsingCoreTest.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -0,0 +1,137 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005-2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.messaging.tests.integration.management;
+
+import javax.management.openmbean.TabularData;
+
+import org.jboss.messaging.core.client.ClientSession;
+import org.jboss.messaging.core.client.ClientSessionFactory;
+import org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl;
+import org.jboss.messaging.core.config.TransportConfiguration;
+import org.jboss.messaging.core.management.BroadcastGroupControlMBean;
+import org.jboss.messaging.core.management.ResourceNames;
+import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
+
+/**
+ * A BroadcastGroupControlUsingCoreTest
+ *
+ * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
+ *
+ *
+ */
+public class BroadcastGroupControlUsingCoreTest extends BroadcastGroupControlTest
+{
+
+   // Constants -----------------------------------------------------
+
+   // Attributes ----------------------------------------------------
+
+   private ClientSession session;
+
+   // Static --------------------------------------------------------
+
+   // Constructors --------------------------------------------------
+
+   // BroadcastGroupControlTest overrides --------------------------------
+
+   @Override
+   protected BroadcastGroupControlMBean createManagementControl(final String name) throws Exception
+   {
+      ClientSessionFactory sf = new ClientSessionFactoryImpl(new TransportConfiguration(InVMConnectorFactory.class.getName()));
+      session = sf.createSession(false, true, true);
+      session.start();
+
+      return new BroadcastGroupControlMBean()
+      {
+         private final CoreMessagingProxy proxy = new CoreMessagingProxy(session,
+                                                                         ResourceNames.CORE_BROADCAST_GROUP + name);
+         
+         public long getBroadcastPeriod()
+         {
+            return (Long)proxy.retrieveAttributeValue("BroadcastPeriod");
+         }
+
+         public TabularData getConnectorPairs()
+         {
+            return (TabularData)proxy.retrieveAttributeValue("ConnectorPairs");
+         }
+
+         public String getGroupAddress()
+         {
+            return (String)proxy.retrieveAttributeValue("GroupAddress");
+         }
+
+         public int getGroupPort()
+         {
+            return (Integer)proxy.retrieveAttributeValue("GroupPort");
+         }
+
+         public int getLocalBindPort()
+         {
+            return (Integer)proxy.retrieveAttributeValue("LocalBindPort");
+         }
+
+         public String getName()
+         {
+            return (String)proxy.retrieveAttributeValue("Name");
+         }
+
+         public boolean isStarted()
+         {
+            return (Boolean)proxy.retrieveAttributeValue("Started");
+         }
+
+         public void start() throws Exception
+         {
+            proxy.invokeOperation("start");
+         }
+
+         public void stop() throws Exception
+         {
+            proxy.invokeOperation("stop");
+         }
+      };
+   }
+
+   // Public --------------------------------------------------------
+
+   // Package protected ---------------------------------------------
+
+   // Protected -----------------------------------------------------
+
+   @Override
+   protected void tearDown() throws Exception
+   {
+      if (session != null)
+      {
+         session.close();
+      }
+
+      super.tearDown();
+   }
+
+   // Private -------------------------------------------------------
+
+   // Inner classes -------------------------------------------------
+
+}

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/ClusterConnectionControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/ClusterConnectionControlTest.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/ClusterConnectionControlTest.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -24,7 +24,6 @@
 
 import static org.jboss.messaging.core.remoting.impl.invm.TransportConstants.SERVER_ID_PROP_NAME;
 import static org.jboss.messaging.tests.util.RandomUtil.randomBoolean;
-import static org.jboss.messaging.tests.util.RandomUtil.randomDouble;
 import static org.jboss.messaging.tests.util.RandomUtil.randomPositiveInt;
 import static org.jboss.messaging.tests.util.RandomUtil.randomPositiveLong;
 import static org.jboss.messaging.tests.util.RandomUtil.randomString;
@@ -49,7 +48,6 @@
 import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
 import org.jboss.messaging.core.server.Messaging;
 import org.jboss.messaging.core.server.MessagingServer;
-import org.jboss.messaging.core.server.impl.MessagingServerImpl;
 import org.jboss.messaging.utils.Pair;
 
 /**
@@ -80,9 +78,9 @@
    public void testAttributes() throws Exception
    {
       checkResource(ObjectNames.getClusterConnectionObjectName(clusterConnectionConfig.getName()));
-      ClusterConnectionControlMBean clusterConnectionControl = ManagementControlHelper.createClusterConnectionControl(clusterConnectionConfig.getName(),
-                                                                                                                      mbeanServer);
 
+      ClusterConnectionControlMBean clusterConnectionControl = createManagementControl(clusterConnectionConfig.getName());
+
       assertEquals(clusterConnectionConfig.getName(), clusterConnectionControl.getName());
       assertEquals(clusterConnectionConfig.getAddress(), clusterConnectionControl.getAddress());
       assertEquals(clusterConnectionConfig.getDiscoveryGroupName(), clusterConnectionControl.getDiscoveryGroupName());
@@ -104,8 +102,7 @@
    public void testStartStop() throws Exception
    {
       checkResource(ObjectNames.getClusterConnectionObjectName(clusterConnectionConfig.getName()));
-      ClusterConnectionControlMBean clusterConnectionControl = ManagementControlHelper.createClusterConnectionControl(clusterConnectionConfig.getName(),
-                                                                                                                      mbeanServer);
+      ClusterConnectionControlMBean clusterConnectionControl = createManagementControl(clusterConnectionConfig.getName());
 
       // started by the server
       assertTrue(clusterConnectionControl.isStarted());
@@ -180,6 +177,11 @@
 
       super.tearDown();
    }
+   
+   protected ClusterConnectionControlMBean createManagementControl(String name) throws Exception
+   {
+      return ManagementControlHelper.createClusterConnectionControl(name, mbeanServer);
+   }
 
    // Private -------------------------------------------------------
 

Added: trunk/tests/src/org/jboss/messaging/tests/integration/management/ClusterConnectionControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/ClusterConnectionControlUsingCoreTest.java	                        (rev 0)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/ClusterConnectionControlUsingCoreTest.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -0,0 +1,148 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005-2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.messaging.tests.integration.management;
+
+import javax.management.openmbean.TabularData;
+
+import org.jboss.messaging.core.client.ClientSession;
+import org.jboss.messaging.core.client.ClientSessionFactory;
+import org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl;
+import org.jboss.messaging.core.config.TransportConfiguration;
+import org.jboss.messaging.core.management.ClusterConnectionControlMBean;
+import org.jboss.messaging.core.management.ResourceNames;
+import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
+
+/**
+ * A ClusterConnectionControlUsingCoreTest
+ *
+ * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
+ *
+ *
+ */
+public class ClusterConnectionControlUsingCoreTest extends ClusterConnectionControlTest
+{
+
+   // Constants -----------------------------------------------------
+
+   // Attributes ----------------------------------------------------
+
+   private ClientSession session;
+
+   // Static --------------------------------------------------------
+
+   // Constructors --------------------------------------------------
+
+   // ClusterConnectionControlTest overrides --------------------------------
+
+   @Override
+   protected ClusterConnectionControlMBean createManagementControl(final String name) throws Exception
+   {
+      ClientSessionFactory sf = new ClientSessionFactoryImpl(new TransportConfiguration(InVMConnectorFactory.class.getName()));
+      session = sf.createSession(false, true, true);
+      session.start();
+
+      return new ClusterConnectionControlMBean()
+      {
+         private final CoreMessagingProxy proxy = new CoreMessagingProxy(session,
+                                                                         ResourceNames.CORE_CLUSTER_CONNECTION + name);
+         
+         public String getAddress()
+         {
+            return (String)proxy.retrieveAttributeValue("Address");
+         }
+
+         public String getDiscoveryGroupName()
+         {
+            return (String)proxy.retrieveAttributeValue("DiscoveryGroupName");
+         }
+
+         public int getMaxHops()
+         {
+            return (Integer)proxy.retrieveAttributeValue("MaxHops");
+         }
+
+         public long getRetryInterval()
+         {
+            return (Long)proxy.retrieveAttributeValue("RetryInterval");
+         }
+
+         public TabularData getStaticConnectorNamePairs()
+         {
+            return (TabularData)proxy.retrieveAttributeValue("StaticConnectorNamePairs");
+         }
+
+         public boolean isDuplicateDetection()
+         {
+            return (Boolean)proxy.retrieveAttributeValue("DuplicateDetection");
+         }
+
+         public boolean isForwardWhenNoConsumers()
+         {
+            return (Boolean)proxy.retrieveAttributeValue("ForwardWhenNoConsumers");
+         }
+
+         public String getName()
+         {
+            return (String)proxy.retrieveAttributeValue("Name");
+         }
+
+         public boolean isStarted()
+         {
+            return (Boolean)proxy.retrieveAttributeValue("Started");
+         }
+
+         public void start() throws Exception
+         {
+            proxy.invokeOperation("start");
+         }
+
+         public void stop() throws Exception
+         {
+            proxy.invokeOperation("stop");
+         }
+
+      };
+   }
+
+   // Public --------------------------------------------------------
+
+   // Package protected ---------------------------------------------
+
+   // Protected -----------------------------------------------------
+
+   @Override
+   protected void tearDown() throws Exception
+   {
+      if (session != null)
+      {
+         session.close();
+      }
+
+      super.tearDown();
+   }
+
+   // Private -------------------------------------------------------
+
+   // Inner classes -------------------------------------------------
+
+}

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/CoreMessagingProxy.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/CoreMessagingProxy.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/CoreMessagingProxy.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -24,8 +24,6 @@
 
 import static org.jboss.messaging.core.config.impl.ConfigurationImpl.DEFAULT_MANAGEMENT_ADDRESS;
 
-import javax.management.ObjectName;
-
 import org.jboss.messaging.core.client.ClientMessage;
 import org.jboss.messaging.core.client.ClientRequestor;
 import org.jboss.messaging.core.client.ClientSession;
@@ -45,7 +43,7 @@
 
    // Attributes ----------------------------------------------------
 
-   private final ObjectName on;
+   private final String resourceName;
 
    private ClientSession session;
 
@@ -55,11 +53,11 @@
 
    // Constructors --------------------------------------------------
 
-   public CoreMessagingProxy(ClientSession session, ObjectName objectName) throws Exception
+   public CoreMessagingProxy(ClientSession session, String resourceName) throws Exception
    {
       this.session = session;
 
-      this.on = objectName;
+      this.resourceName = resourceName;
 
       this.requestor = new ClientRequestor(session, DEFAULT_MANAGEMENT_ADDRESS);
 
@@ -74,7 +72,7 @@
    public Object retrieveAttributeValue(String attributeName)
    {
       ClientMessage m = session.createClientMessage(false);
-      ManagementHelper.putAttribute(m, on, attributeName);
+      ManagementHelper.putAttribute(m, resourceName, attributeName);
       ClientMessage reply;
       try
       {
@@ -90,7 +88,7 @@
    public Object invokeOperation(String operationName, Object... args) throws Exception
    {
       ClientMessage m = session.createClientMessage(false);
-      ManagementHelper.putOperationInvocation(m, on, operationName, args);
+      ManagementHelper.putOperationInvocation(m, resourceName, operationName, args);
       ClientMessage reply = requestor.request(m);
       if (ManagementHelper.hasOperationSucceeded(reply))
       {

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/DiscoveryGroupControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/DiscoveryGroupControlTest.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/DiscoveryGroupControlTest.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -26,16 +26,12 @@
 import static org.jboss.messaging.tests.util.RandomUtil.randomPositiveLong;
 import static org.jboss.messaging.tests.util.RandomUtil.randomString;
 
-import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-
 import org.jboss.messaging.core.config.Configuration;
 import org.jboss.messaging.core.config.cluster.DiscoveryGroupConfiguration;
 import org.jboss.messaging.core.config.impl.ConfigurationImpl;
 import org.jboss.messaging.core.management.DiscoveryGroupControlMBean;
 import org.jboss.messaging.core.server.Messaging;
 import org.jboss.messaging.core.server.MessagingServer;
-import org.jboss.messaging.tests.util.UnitTestCase;
 
 /**
  * A AcceptorControlTest
@@ -73,7 +69,7 @@
       service = Messaging.newNullStorageMessagingServer(conf, mbeanServer);
       service.start();
 
-      DiscoveryGroupControlMBean discoveryGroupControl = createDiscoveryGroupControl(discoveryGroupConfig.getName(), mbeanServer);
+      DiscoveryGroupControlMBean discoveryGroupControl = createManagementControl(discoveryGroupConfig.getName());
 
       assertEquals(discoveryGroupConfig.getName(), discoveryGroupControl.getName());
       assertEquals(discoveryGroupConfig.getGroupAddress(), discoveryGroupControl.getGroupAddress());
@@ -93,7 +89,7 @@
       service = Messaging.newNullStorageMessagingServer(conf, mbeanServer);
       service.start();
 
-      DiscoveryGroupControlMBean discoveryGroupControl = createDiscoveryGroupControl(discoveryGroupConfig.getName(), mbeanServer);
+      DiscoveryGroupControlMBean discoveryGroupControl = createManagementControl(discoveryGroupConfig.getName());
 
       // started by the server
       assertTrue(discoveryGroupControl.isStarted());
@@ -120,6 +116,13 @@
 
       super.tearDown();
    }
+   
+   protected DiscoveryGroupControlMBean createManagementControl(String name) throws Exception
+   {
+      return createDiscoveryGroupControl(name, mbeanServer);
+   }
+
+
    // Private -------------------------------------------------------
 
    // Inner classes -------------------------------------------------

Added: trunk/tests/src/org/jboss/messaging/tests/integration/management/DiscoveryGroupControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/DiscoveryGroupControlUsingCoreTest.java	                        (rev 0)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/DiscoveryGroupControlUsingCoreTest.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -0,0 +1,125 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005-2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.messaging.tests.integration.management;
+
+import org.jboss.messaging.core.client.ClientSession;
+import org.jboss.messaging.core.client.ClientSessionFactory;
+import org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl;
+import org.jboss.messaging.core.config.TransportConfiguration;
+import org.jboss.messaging.core.management.DiscoveryGroupControlMBean;
+import org.jboss.messaging.core.management.ResourceNames;
+import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
+
+/**
+ * A DiscoveryGroupControlUsingCoreTest
+ *
+ * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
+ *
+ *
+ */
+public class DiscoveryGroupControlUsingCoreTest extends DiscoveryGroupControlTest
+{
+
+   // Constants -----------------------------------------------------
+
+   // Attributes ----------------------------------------------------
+
+   private ClientSession session;
+
+   // Static --------------------------------------------------------
+
+   // Constructors --------------------------------------------------
+
+   // DiscoveryGroupControlTest overrides --------------------------------
+
+   @Override
+   protected DiscoveryGroupControlMBean createManagementControl(final String name) throws Exception
+   {
+      ClientSessionFactory sf = new ClientSessionFactoryImpl(new TransportConfiguration(InVMConnectorFactory.class.getName()));
+      session = sf.createSession(false, true, true);
+      session.start();
+
+      return new DiscoveryGroupControlMBean()
+      {
+         private final CoreMessagingProxy proxy = new CoreMessagingProxy(session,
+                                                                         ResourceNames.CORE_DISCOVERY_GROUP + name);
+         
+         public String getGroupAddress()
+         {
+            return (String)proxy.retrieveAttributeValue("GroupAddress");
+         }
+
+         public int getGroupPort()
+         {
+            return (Integer)proxy.retrieveAttributeValue("GroupPort");
+         }
+
+         public long getRefreshTimeout()
+         {
+            return (Long)proxy.retrieveAttributeValue("RefreshTimeout");
+         }
+
+         public String getName()
+         {
+            return (String)proxy.retrieveAttributeValue("Name");
+         }
+
+         public boolean isStarted()
+         {
+            return (Boolean)proxy.retrieveAttributeValue("Started");
+         }
+
+         public void start() throws Exception
+         {
+            proxy.invokeOperation("start");
+         }
+
+         public void stop() throws Exception
+         {
+            proxy.invokeOperation("stop");
+         }
+      };
+   }
+
+   // Public --------------------------------------------------------
+
+   // Package protected ---------------------------------------------
+
+   // Protected -----------------------------------------------------
+
+   @Override
+   protected void tearDown() throws Exception
+   {
+      if (session != null)
+      {
+         session.close();
+      }
+
+      super.tearDown();
+   }
+
+   // Private -------------------------------------------------------
+
+   // Inner classes -------------------------------------------------
+
+}

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/DivertControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/DivertControlTest.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/DivertControlTest.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -63,8 +63,8 @@
    public void testAttributes() throws Exception
    {
       checkResource(ObjectNames.getDivertObjectName(new SimpleString(divertConfig.getName())));
-      DivertControlMBean divertControl = ManagementControlHelper.createDivertControl(divertConfig.getName(),
-                                                                                     mbeanServer);
+      
+      DivertControlMBean divertControl = createManagementControl(divertConfig.getName());
 
       assertEquals(divertConfig.getFilterString(), divertControl.getFilter());
 
@@ -109,7 +109,7 @@
       conf.getQueueConfigurations().add(queueConfig);
       conf.getQueueConfigurations().add(fowardQueueConfig);
       conf.getDivertConfigurations().add(divertConfig);
-      
+
       conf.getConnectorConfigurations().put(connectorConfig.getName(), connectorConfig);
 
       service = Messaging.newNullStorageMessagingServer(conf, mbeanServer);
@@ -122,10 +122,15 @@
       service.stop();
 
       checkNoResource(ObjectNames.getDivertObjectName(new SimpleString(divertConfig.getName())));
-      
+
       super.tearDown();
    }
 
+   protected DivertControlMBean createManagementControl(String name) throws Exception
+   {
+      return ManagementControlHelper.createDivertControl(name, mbeanServer);
+   }
+
    // Private -------------------------------------------------------
 
    // Inner classes -------------------------------------------------

Added: trunk/tests/src/org/jboss/messaging/tests/integration/management/DivertControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/DivertControlUsingCoreTest.java	                        (rev 0)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/DivertControlUsingCoreTest.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -0,0 +1,126 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005-2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.messaging.tests.integration.management;
+
+import org.jboss.messaging.core.client.ClientSession;
+import org.jboss.messaging.core.client.ClientSessionFactory;
+import org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl;
+import org.jboss.messaging.core.config.TransportConfiguration;
+import org.jboss.messaging.core.management.DivertControlMBean;
+import org.jboss.messaging.core.management.ResourceNames;
+import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
+
+/**
+ * A DivertControlUsingCoreTest
+ *
+ * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
+ *
+ *
+ */
+public class DivertControlUsingCoreTest extends DivertControlTest
+{
+
+   // Constants -----------------------------------------------------
+
+   // Attributes ----------------------------------------------------
+
+   private ClientSession session;
+
+   // Static --------------------------------------------------------
+
+   // Constructors --------------------------------------------------
+
+   // DivertControlTest overrides --------------------------------
+
+   @Override
+   protected DivertControlMBean createManagementControl(final String name) throws Exception
+   {
+      ClientSessionFactory sf = new ClientSessionFactoryImpl(new TransportConfiguration(InVMConnectorFactory.class.getName()));
+      session = sf.createSession(false, true, true);
+      session.start();
+
+      return new DivertControlMBean()
+      {
+         private final CoreMessagingProxy proxy = new CoreMessagingProxy(session,
+                                                                         ResourceNames.CORE_DIVERT + name);
+         
+         public String getAddress()
+         {
+            return (String)proxy.retrieveAttributeValue("Address");
+         }
+
+         public String getFilter()
+         {
+            return (String)proxy.retrieveAttributeValue("Filter");
+         }
+
+         public String getForwardingAddress()
+         {
+            return (String)proxy.retrieveAttributeValue("ForwardingAddress");
+         }
+
+         public String getRoutingName()
+         {
+            return (String)proxy.retrieveAttributeValue("RoutingName");
+         }
+
+         public String getTransformerClassName()
+         {
+            return (String)proxy.retrieveAttributeValue("TransformerClassName");
+         }
+
+         public String getUniqueName()
+         {
+            return (String)proxy.retrieveAttributeValue("UniqueName");
+         }
+
+         public boolean isExclusive()
+         {
+            return (Boolean)proxy.retrieveAttributeValue("Exclusive");
+         }
+
+      };
+   }
+
+   // Public --------------------------------------------------------
+
+   // Package protected ---------------------------------------------
+
+   // Protected -----------------------------------------------------
+
+   @Override
+   protected void tearDown() throws Exception
+   {
+      if (session != null)
+      {
+         session.close();
+      }
+
+      super.tearDown();
+   }
+
+   // Private -------------------------------------------------------
+
+   // Inner classes -------------------------------------------------
+
+}

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/MessagingServerControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/MessagingServerControlUsingCoreTest.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/MessagingServerControlUsingCoreTest.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -32,7 +32,7 @@
 import org.jboss.messaging.core.config.Configuration;
 import org.jboss.messaging.core.config.TransportConfiguration;
 import org.jboss.messaging.core.management.MessagingServerControlMBean;
-import org.jboss.messaging.core.management.ObjectNames;
+import org.jboss.messaging.core.management.ResourceNames;
 import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
 
 /**
@@ -83,8 +83,8 @@
       return new MessagingServerControlMBean()
       {
          private final CoreMessagingProxy proxy = new CoreMessagingProxy(session,
-                                                                         ObjectNames.getMessagingServerObjectName());
-
+                                                                         ResourceNames.CORE_SERVER);
+         
          public boolean closeConnectionsForAddress(String ipAddress) throws Exception
          {
             return (Boolean)proxy.invokeOperation("closeConnectionsForAddress", ipAddress);

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/QueueControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/QueueControlUsingCoreTest.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/QueueControlUsingCoreTest.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -25,8 +25,8 @@
 import javax.management.openmbean.CompositeData;
 import javax.management.openmbean.TabularData;
 
-import org.jboss.messaging.core.management.ObjectNames;
 import org.jboss.messaging.core.management.QueueControlMBean;
+import org.jboss.messaging.core.management.ResourceNames;
 import org.jboss.messaging.utils.SimpleString;
 
 /**
@@ -57,8 +57,8 @@
       {
 
          private final CoreMessagingProxy proxy = new CoreMessagingProxy(session,
-                                                                         ObjectNames.getQueueObjectName(address, queue));
-
+                                                                         ResourceNames.CORE_QUEUE + queue);
+         
          public boolean changeMessagePriority(long messageID, int newPriority) throws Exception
          {
             return (Boolean)proxy.invokeOperation("changeMessagePriority", messageID, newPriority);

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/management/SecurityManagementTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/management/SecurityManagementTestBase.java	2009-04-08 11:23:30 UTC (rev 6357)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/management/SecurityManagementTestBase.java	2009-04-08 11:50:03 UTC (rev 6358)
@@ -31,11 +31,10 @@
 import org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl;
 import org.jboss.messaging.core.client.management.impl.ManagementHelper;
 import org.jboss.messaging.core.config.TransportConfiguration;
-import org.jboss.messaging.core.management.ObjectNames;
+import org.jboss.messaging.core.management.ResourceNames;
 import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
 import org.jboss.messaging.core.server.MessagingServer;
 import org.jboss.messaging.tests.util.UnitTestCase;
-import org.jboss.messaging.utils.SimpleString;
 
 /**
  * A SecurityManagementTest
@@ -99,7 +98,7 @@
          ClientRequestor requestor = new ClientRequestor(session, DEFAULT_MANAGEMENT_ADDRESS);
 
          ClientMessage mngmntMessage = session.createClientMessage(false);
-         ManagementHelper.putAttribute(mngmntMessage, ObjectNames.getMessagingServerObjectName(), "Started");
+         ManagementHelper.putAttribute(mngmntMessage, ResourceNames.CORE_SERVER, "Started");
          ClientMessage reply = requestor.request(mngmntMessage, 500);
          if (expectSuccess)
          {




More information about the jboss-cvs-commits mailing list