[hornetq-commits] JBoss hornetq SVN: r8054 - in trunk: examples/jms/client-kickoff and 18 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Oct 6 10:06:11 EDT 2009


Author: jmesnil
Date: 2009-10-06 10:06:10 -0400 (Tue, 06 Oct 2009)
New Revision: 8054

Added:
   trunk/src/main/org/hornetq/core/management/ObjectNameBuilder.java
   trunk/tests/src/org/hornetq/tests/integration/management/JMXDomainTest.java
Removed:
   trunk/src/main/org/hornetq/core/management/ObjectNames.java
Modified:
   trunk/docs/user-manual/en/configuration-index.xml
   trunk/docs/user-manual/en/management.xml
   trunk/examples/jms/client-kickoff/readme.html
   trunk/examples/jms/client-kickoff/src/org/hornetq/jms/example/ClientKickoffExample.java
   trunk/examples/jms/jmx/readme.html
   trunk/examples/jms/jmx/src/org/hornetq/jms/example/JMXExample.java
   trunk/examples/jms/message-counters/readme.html
   trunk/examples/jms/message-counters/src/org/hornetq/jms/example/MessageCounterExample.java
   trunk/examples/jms/xa-heuristic/readme.html
   trunk/examples/jms/xa-heuristic/src/org/hornetq/jms/example/XAHeuristicExample.java
   trunk/src/config/common/schema/hornetq-configuration.xsd
   trunk/src/main/org/hornetq/core/config/Configuration.java
   trunk/src/main/org/hornetq/core/config/impl/ConfigurationImpl.java
   trunk/src/main/org/hornetq/core/config/impl/FileConfiguration.java
   trunk/src/main/org/hornetq/core/management/ManagementService.java
   trunk/src/main/org/hornetq/core/management/impl/ManagementServiceImpl.java
   trunk/src/main/org/hornetq/jms/server/management/impl/JMSManagementServiceImpl.java
   trunk/tests/config/ConfigurationTest-full-config.xml
   trunk/tests/jms-tests/src/org/hornetq/jms/tests/tools/container/LocalTestServer.java
   trunk/tests/src/org/hornetq/tests/integration/jms/server/management/JMSServerControlTest.java
   trunk/tests/src/org/hornetq/tests/integration/management/BridgeControlTest.java
   trunk/tests/src/org/hornetq/tests/integration/management/BridgeControlUsingCoreTest.java
   trunk/tests/src/org/hornetq/tests/integration/management/ClusterConnectionControlTest.java
   trunk/tests/src/org/hornetq/tests/integration/management/DivertControlTest.java
   trunk/tests/src/org/hornetq/tests/integration/management/HornetQServerControlTest.java
   trunk/tests/src/org/hornetq/tests/integration/management/ManagementControlHelper.java
   trunk/tests/src/org/hornetq/tests/integration/management/ManagementTestBase.java
   trunk/tests/src/org/hornetq/tests/unit/core/config/impl/DefaultsFileConfigurationTest.java
   trunk/tests/src/org/hornetq/tests/unit/core/config/impl/FileConfigurationTest.java
Log:
https://jira.jboss.org/jira/browse/HORNETQ-157:  Allow JMX domain to be changed

* JMX domain can now be configured through the Configuration interface (jmx-domain in conf file)
* renamed ObjectNames to ObjectNameBuilder, provide a DEFAULT instances (for jmx clients using default jmx domain)
* added tests in JMXDomainTest with 2 HornetQ servers registered in the same MBeanServer

Modified: trunk/docs/user-manual/en/configuration-index.xml
===================================================================
--- trunk/docs/user-manual/en/configuration-index.xml	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/docs/user-manual/en/configuration-index.xml	2009-10-06 14:06:10 UTC (rev 8054)
@@ -212,6 +212,13 @@
                             <entry>true</entry>
                         </row>
                         <row>
+                            <entry><link linkend="management.jmx.configuration"
+                                    >jmx-domain</link></entry>
+                            <entry>String</entry>
+                            <entry>the JMX domain used to registered HornetQ MBeans in the MBeanServer</entry>
+                            <entry>org.hornetq</entry>
+                        </row>
+                        <row>
                             <entry><link linkend="large.message.configuring"
                                     >large-messages-directory</link></entry>
                             <entry>String</entry>

Modified: trunk/docs/user-manual/en/management.xml
===================================================================
--- trunk/docs/user-manual/en/management.xml	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/docs/user-manual/en/management.xml	2009-10-06 14:06:10 UTC (rev 8054)
@@ -485,7 +485,7 @@
    org.hornetq.jms.server.management.JMSQueueControl   
       </programlisting>
       <para>The MBean's <literal>ObjectName</literal> are built using the helper class <literal
-            >org.hornetq.core.management.ObjectNames</literal>. You can also use <literal
+            >org.hornetq.core.management.ObjectNameBuilder</literal>. You can also use <literal
             >jconsole</literal> to find the <literal>ObjectName</literal> of the MBeans you want to
          manage. </para>
       <para>Managing HornetQ using JMX is identical to management of any Java Applications using
@@ -505,6 +505,14 @@
                >Java Management guide</ulink> to configure the server for remote management (system
             properties must be set in <literal>run.sh</literal> or <literal>run.bat</literal>
             scripts).</para>
+         <para>By default, HornetQ server uses the JMX domain "org.hornetq". To manage several HornetQ servers
+            from the <emphasis>same</emphasis> MBeanServer, the JMX domain can be configured for each individual
+            HornetQ server by setting <literal>jmx-domain</literal> in <literal>hornetq-configuration.xml</literal>:
+         </para>
+         <programlisting>
+&lt;!-- use a specific JMX domain for HornetQ MBeans -->
+&lt;jmx-domain>my.org.hornetq&lt;/jmx-domain>            
+         </programlisting>
          <section>
             <title>MBeanServer configuration</title>
             <para>When HornetQ is run in standalone, it uses the Java Virtual Machine's <literal

Modified: trunk/examples/jms/client-kickoff/readme.html
===================================================================
--- trunk/examples/jms/client-kickoff/readme.html	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/examples/jms/client-kickoff/readme.html	2009-10-06 14:06:10 UTC (rev 8054)
@@ -68,7 +68,7 @@
         <li>We create a MBean proxy to the HornetQServerControlMBean used to manage HornetQ server
             (see <a href="../jmx/readme.html">JMX example</a> for a complete explanation of the different steps)</li>
         <pre class="prettyprint">
-            <code>ObjectName on = ObjectNames.getHornetQServerObjectName();
+            <code>ObjectName on = ObjectNameBuilder.DEFAULT.getHornetQServerObjectName();
             JMXConnector connector = JMXConnectorFactory.connect(new JMXServiceURL(JMX_URL), new HashMap<String, String>());
             MBeanServerConnection mbsc = connector.getMBeanServerConnection();
             HornetQServerControlMBean serverControl = (HornetQServerControlMBean)MBeanServerInvocationHandler.newProxyInstance(mbsc,
@@ -135,7 +135,7 @@
         <li>HornetQ defines a set of MBeans for this core 
             API (<a href="../../../docs/api/org/jboss/messaging/core/management/package-summary.html">org.hornetq.core.management</a>
              package) and its JMS API (in the <a href="../../../docs/api/org/jboss/messaging/jms/server/management/package-summary.html">org.hornetq.jms.server.management</a> package)
-        <li><a href="../../../docs/api/org/jboss/messaging/core/management/ObjectNames.html">ObjectNames</a> is a helper class used to build the ObjectName of HornetQ manageable resources</li>
+        <li><a href="../../../docs/api/org/jboss/messaging/core/management/ObjectNameBuilder.html">ObjectNameBuilder</a> is a helper class used to build the ObjectName of HornetQ manageable resources</li>
      </ul>
   </body>
 </html>
\ No newline at end of file

Modified: trunk/examples/jms/client-kickoff/src/org/hornetq/jms/example/ClientKickoffExample.java
===================================================================
--- trunk/examples/jms/client-kickoff/src/org/hornetq/jms/example/ClientKickoffExample.java	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/examples/jms/client-kickoff/src/org/hornetq/jms/example/ClientKickoffExample.java	2009-10-06 14:06:10 UTC (rev 8054)
@@ -29,7 +29,7 @@
 
 import org.hornetq.common.example.HornetQExample;
 import org.hornetq.core.management.HornetQServerControl;
-import org.hornetq.core.management.ObjectNames;
+import org.hornetq.core.management.ObjectNameBuilder;
 
 /**
  * An example that shows how to kick off a client connected to HornetQby using JMX.
@@ -74,7 +74,7 @@
          connection.start();
 
          // Step 6. Create a HornetQServerControlMBean proxy to manage the server
-         ObjectName on = ObjectNames.getHornetQServerObjectName();
+         ObjectName on = ObjectNameBuilder.DEFAULT.getHornetQServerObjectName();
          JMXConnector connector = JMXConnectorFactory.connect(new JMXServiceURL(JMX_URL), new HashMap<String, String>());
          MBeanServerConnection mbsc = connector.getMBeanServerConnection();
          HornetQServerControl serverControl = (HornetQServerControl)MBeanServerInvocationHandler.newProxyInstance(mbsc,

Modified: trunk/examples/jms/jmx/readme.html
===================================================================
--- trunk/examples/jms/jmx/readme.html	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/examples/jms/jmx/readme.html	2009-10-06 14:06:10 UTC (rev 8054)
@@ -71,9 +71,9 @@
         <p><em>Now that we have a message in the queue, we will manage the queue by retrieving the number of messages in the queue
             (i.e. 1) and by removing the message which has been sent in step 8.</em></p>
             
-        <li>We retrieve the <code>ObjectName</code> corresponding to the queue using a helper class <code>ObjectNames</code></li>
+        <li>We retrieve the <code>ObjectName</code> corresponding to the queue using a helper class <code>ObjectNameBuilder</code></li>
         <pre class="prettyprint">
-              <code>ObjectName on = ObjectNames.getJMSQueueObjectName(queue.getQueueName());</code>
+              <code>ObjectName on = ObjectNameBuilder.DEFAULT.getJMSQueueObjectName(queue.getQueueName());</code>
         </pre>
 
         <li>We create a JMX Connector to connect to the server's MBeanServer using the <a href="http://java.sun.com/j2se/1.5.0/docs/guide/management/agent.html#connecting">standard JMX service URL</a></li>
@@ -159,7 +159,7 @@
         <li>HornetQ defines a set of MBeans for this core 
             API (<a href="../../../docs/api/org/jboss/messaging/core/management/package-summary.html">org.hornetq.core.management</a>
              package) and its JMS API (in the <a href="../../../docs/api/org/jboss/messaging/jms/server/management/package-summary.html">org.hornetq.jms.server.management</a> package)
-        <li><a href="../../../docs/api/org/jboss/messaging/core/management/ObjectNames.html">ObjectNames</a> is a helper class used to build the ObjectName of HornetQ manageable resources</li>
+        <li><a href="../../../docs/api/org/jboss/messaging/core/management/ObjectNameBuilder.html">ObjectNameBuilder</a> is a helper class used to build the ObjectName of HornetQ manageable resources</li>
      </ul>
   </body>
 </html>
\ No newline at end of file

Modified: trunk/examples/jms/jmx/src/org/hornetq/jms/example/JMXExample.java
===================================================================
--- trunk/examples/jms/jmx/src/org/hornetq/jms/example/JMXExample.java	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/examples/jms/jmx/src/org/hornetq/jms/example/JMXExample.java	2009-10-06 14:06:10 UTC (rev 8054)
@@ -31,7 +31,7 @@
 import javax.naming.InitialContext;
 
 import org.hornetq.common.example.HornetQExample;
-import org.hornetq.core.management.ObjectNames;
+import org.hornetq.core.management.ObjectNameBuilder;
 import org.hornetq.jms.server.management.JMSQueueControl;
 
 /**
@@ -80,7 +80,7 @@
          producer.send(message);
 
          // Step 9. Retrieve the ObjectName of the queue. This is used to identify the server resources to manage
-         ObjectName on = ObjectNames.getJMSQueueObjectName(queue.getQueueName());
+         ObjectName on = ObjectNameBuilder.DEFAULT.getJMSQueueObjectName(queue.getQueueName());
 
          // Step 10. Create JMX Connector to connect to the server's MBeanServer
          JMXConnector connector = JMXConnectorFactory.connect(new JMXServiceURL(JMX_URL), new HashMap());

Modified: trunk/examples/jms/message-counters/readme.html
===================================================================
--- trunk/examples/jms/message-counters/readme.html	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/examples/jms/message-counters/readme.html	2009-10-06 14:06:10 UTC (rev 8054)
@@ -72,7 +72,7 @@
 
        <li>We retrieve the JMX MBean used to manage the JMS queue</li>
         <pre class="prettyprint">
-            <code>ObjectName on = ObjectNames.getJMSQueueObjectName(queue.getQueueName());
+            <code>ObjectName on = ObjectNameBuilder.DEFAULT.getJMSQueueObjectName(queue.getQueueName());
             JMXConnector connector = JMXConnectorFactory.connect(new JMXServiceURL(JMX_URL), new HashMap());
             MBeanServerConnection mbsc = connector.getMBeanServerConnection();
             JMSQueueControl queueControl = (JMSQueueControl)MBeanServerInvocationHandler.newProxyInstance(mbsc,

Modified: trunk/examples/jms/message-counters/src/org/hornetq/jms/example/MessageCounterExample.java
===================================================================
--- trunk/examples/jms/message-counters/src/org/hornetq/jms/example/MessageCounterExample.java	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/examples/jms/message-counters/src/org/hornetq/jms/example/MessageCounterExample.java	2009-10-06 14:06:10 UTC (rev 8054)
@@ -32,7 +32,7 @@
 
 import org.hornetq.common.example.HornetQExample;
 import org.hornetq.core.management.MessageCounterInfo;
-import org.hornetq.core.management.ObjectNames;
+import org.hornetq.core.management.ObjectNameBuilder;
 import org.hornetq.jms.server.management.JMSQueueControl;
 
 /**
@@ -80,7 +80,7 @@
          Thread.sleep(3000);
 
          // Step 7. Use JMX to retrieve the message counters using the JMSQueueControl
-         ObjectName on = ObjectNames.getJMSQueueObjectName(queue.getQueueName());
+         ObjectName on = ObjectNameBuilder.DEFAULT.getJMSQueueObjectName(queue.getQueueName());
          JMXConnector connector = JMXConnectorFactory.connect(new JMXServiceURL(JMX_URL), new HashMap());
          MBeanServerConnection mbsc = connector.getMBeanServerConnection();
          JMSQueueControl queueControl = (JMSQueueControl)MBeanServerInvocationHandler.newProxyInstance(mbsc,

Modified: trunk/examples/jms/xa-heuristic/readme.html
===================================================================
--- trunk/examples/jms/xa-heuristic/readme.html	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/examples/jms/xa-heuristic/readme.html	2009-10-06 14:06:10 UTC (rev 8054)
@@ -172,7 +172,7 @@
         <li>We list the prepared transactions</li>
         <pre class="prettyprint">
           <code>
-          ObjectName serverObject = ObjectNames.getMessagingServerObjectName();
+          ObjectName serverObject = ObjectNameBuilder.DEFAULT.getMessagingServerObjectName();
           String[] infos = (String[])mbsc.invoke(serverObject, "listPreparedTransactions", null, null);
          
           System.out.println("Prepared transactions: ");

Modified: trunk/examples/jms/xa-heuristic/src/org/hornetq/jms/example/XAHeuristicExample.java
===================================================================
--- trunk/examples/jms/xa-heuristic/src/org/hornetq/jms/example/XAHeuristicExample.java	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/examples/jms/xa-heuristic/src/org/hornetq/jms/example/XAHeuristicExample.java	2009-10-06 14:06:10 UTC (rev 8054)
@@ -37,7 +37,7 @@
 
 import org.hornetq.common.example.DummyXid;
 import org.hornetq.common.example.HornetQExample;
-import org.hornetq.core.management.ObjectNames;
+import org.hornetq.core.management.ObjectNameBuilder;
 import org.hornetq.utils.UUIDGenerator;
 
 /**
@@ -148,7 +148,7 @@
          MBeanServerConnection mbsc = connector.getMBeanServerConnection();
          
          //Step 27. List the prepared transactions
-         ObjectName serverObject = ObjectNames.getHornetQServerObjectName();
+         ObjectName serverObject = ObjectNameBuilder.DEFAULT.getHornetQServerObjectName();
          String[] infos = (String[])mbsc.invoke(serverObject, "listPreparedTransactions", null, null);
          
          System.out.println("Prepared transactions: ");

Modified: trunk/src/config/common/schema/hornetq-configuration.xsd
===================================================================
--- trunk/src/config/common/schema/hornetq-configuration.xsd	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/src/config/common/schema/hornetq-configuration.xsd	2009-10-06 14:06:10 UTC (rev 8054)
@@ -41,6 +41,8 @@
                 </xsd:element>              
 				<xsd:element maxOccurs="1" minOccurs="0" name="jmx-management-enabled" type="xsd:boolean">
 				</xsd:element>
+				<xsd:element maxOccurs="1" minOccurs="0" name="jmx-domain" type="xsd:string">
+				</xsd:element>
 				<xsd:element maxOccurs="1" minOccurs="0" name="message-counter-enabled" type="xsd:boolean">
 				</xsd:element>
             <xsd:element maxOccurs="1" minOccurs="0" name="message-counter-sample-period" type="xsd:long">

Modified: trunk/src/main/org/hornetq/core/config/Configuration.java
===================================================================
--- trunk/src/main/org/hornetq/core/config/Configuration.java	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/src/main/org/hornetq/core/config/Configuration.java	2009-10-06 14:06:10 UTC (rev 8054)
@@ -93,6 +93,10 @@
 
    void setJMXManagementEnabled(boolean enabled);
 
+   String getJMXDomain();
+   
+   void setJMXDomain(String domain);
+   
    List<String> getInterceptorClassNames();
 
    void setInterceptorClassNames(List<String> interceptors);

Modified: trunk/src/main/org/hornetq/core/config/impl/ConfigurationImpl.java
===================================================================
--- trunk/src/main/org/hornetq/core/config/impl/ConfigurationImpl.java	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/src/main/org/hornetq/core/config/impl/ConfigurationImpl.java	2009-10-06 14:06:10 UTC (rev 8054)
@@ -67,6 +67,8 @@
 
    public static final boolean DEFAULT_JMX_MANAGEMENT_ENABLED = true;
 
+   public static final String DEFAULT_JMX_DOMAIN = "org.hornetq";
+
    public static final long DEFAULT_CONNECTION_TTL_OVERRIDE = -1;
 
    public static final boolean DEFAULT_ASYNC_CONNECTION_EXECUTION_ENABLED = true;
@@ -191,6 +193,8 @@
 
    protected boolean jmxManagementEnabled = DEFAULT_JMX_MANAGEMENT_ENABLED;
 
+   protected String jmxDomain = DEFAULT_JMX_DOMAIN;
+
    protected long connectionTTLOverride = DEFAULT_CONNECTION_TTL_OVERRIDE;
 
    protected boolean asyncConnectionExecutionEnabled = DEFAULT_ASYNC_CONNECTION_EXECUTION_ENABLED;
@@ -756,6 +760,16 @@
    {
       jmxManagementEnabled = enabled;
    }
+   
+   public String getJMXDomain()
+   {
+      return jmxDomain;
+   }
+   
+   public void setJMXDomain(String domain)
+   {
+      jmxDomain = domain;
+   }
 
    public void setAIOBufferTimeout(int timeout)
    {

Modified: trunk/src/main/org/hornetq/core/config/impl/FileConfiguration.java
===================================================================
--- trunk/src/main/org/hornetq/core/config/impl/FileConfiguration.java	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/src/main/org/hornetq/core/config/impl/FileConfiguration.java	2009-10-06 14:06:10 UTC (rev 8054)
@@ -123,6 +123,8 @@
 
       jmxManagementEnabled = getBoolean(e, "jmx-management-enabled", jmxManagementEnabled);
 
+      jmxDomain = getString(e, "jmx-domain", jmxDomain, NOT_NULL_OR_EMPTY);
+
       securityInvalidationInterval = getLong(e, "security-invalidation-interval", securityInvalidationInterval, GT_ZERO);
 
       connectionTTLOverride = getLong(e, "connection-ttl-override", connectionTTLOverride, MINUS_ONE_OR_GT_ZERO);

Modified: trunk/src/main/org/hornetq/core/management/ManagementService.java
===================================================================
--- trunk/src/main/org/hornetq/core/management/ManagementService.java	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/src/main/org/hornetq/core/management/ManagementService.java	2009-10-06 14:06:10 UTC (rev 8054)
@@ -67,6 +67,8 @@
 
    SimpleString getManagementNotificationAddress();
 
+   ObjectNameBuilder getObjectNameBuilder();
+   
    // Resource Registration
 
    HornetQServerControlImpl registerServer(PostOffice postOffice,

Copied: trunk/src/main/org/hornetq/core/management/ObjectNameBuilder.java (from rev 7996, trunk/src/main/org/hornetq/core/management/ObjectNames.java)
===================================================================
--- trunk/src/main/org/hornetq/core/management/ObjectNameBuilder.java	                        (rev 0)
+++ trunk/src/main/org/hornetq/core/management/ObjectNameBuilder.java	2009-10-06 14:06:10 UTC (rev 8054)
@@ -0,0 +1,147 @@
+/*
+ * Copyright 2009 Red Hat, Inc.
+ * Red Hat licenses this file to you under the Apache License, version
+ * 2.0 (the "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied.  See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+
+package org.hornetq.core.management;
+
+import static java.lang.String.format;
+import static javax.management.ObjectName.getInstance;
+import static javax.management.ObjectName.quote;
+
+import javax.management.ObjectName;
+
+import org.hornetq.core.config.impl.ConfigurationImpl;
+import org.hornetq.utils.SimpleString;
+
+/**
+ * A ObjectNameBuilder
+ *
+ * @author <a href="jmesnil at redhat.com">Jeff Mesnil</a>
+ *
+ */
+public class ObjectNameBuilder
+{
+
+   // Constants -----------------------------------------------------
+
+   public static ObjectNameBuilder DEFAULT = new ObjectNameBuilder(ConfigurationImpl.DEFAULT_JMX_DOMAIN);
+
+   public static final String JMS_MODULE = "JMS";
+
+   public static final String CORE_MODULE = "Core";
+
+   // Attributes ----------------------------------------------------
+
+   private final String domain;
+
+   // Static --------------------------------------------------------
+
+   public static ObjectNameBuilder create(String domain)
+   {
+      return new ObjectNameBuilder(domain);
+   }
+
+   // Constructors --------------------------------------------------
+
+   private ObjectNameBuilder(String domain)
+   {
+      this.domain = domain;
+   }
+   
+   // Public --------------------------------------------------------
+
+   public ObjectName getHornetQServerObjectName() throws Exception
+   {
+      return getInstance(domain + ":module=Core,type=Server");
+   }
+
+   public ObjectName getAddressObjectName(final SimpleString address) throws Exception
+   {
+      return createObjectName(CORE_MODULE, "Address", address.toString());
+   }
+
+   public ObjectName getQueueObjectName(final SimpleString address, final SimpleString name) throws Exception
+   {
+      return getInstance(format("%s:module=%s,type=%s,address=%s,name=%s",
+                                domain,
+                                CORE_MODULE,
+                                "Queue",
+                                quote(address.toString()),
+                                quote(name.toString())));
+   }
+
+   public ObjectName getDivertObjectName(final SimpleString name) throws Exception
+   {
+      return createObjectName(CORE_MODULE, "Divert", name.toString());
+   }
+
+   public ObjectName getAcceptorObjectName(final String name) throws Exception
+   {
+      return createObjectName(CORE_MODULE, "Acceptor", name);
+   }
+
+   public ObjectName getBroadcastGroupObjectName(final String name) throws Exception
+   {
+      return createObjectName(CORE_MODULE, "BroadcastGroup", name);
+   }
+
+   public ObjectName getBridgeObjectName(final String name) throws Exception
+   {
+      return createObjectName(CORE_MODULE, "JMSBridge", name);
+   }
+   
+   public ObjectName getClusterConnectionObjectName(String name) throws Exception
+   {
+      return createObjectName(CORE_MODULE, "ClusterConnection", name);
+   }
+
+   public ObjectName getDiscoveryGroupObjectName(final String name) throws Exception
+   {
+      return createObjectName(CORE_MODULE, "DiscoveryGroup", name);
+   }
+
+   public ObjectName getJMSServerObjectName() throws Exception
+   {
+      return getInstance(domain + ":module=JMS,type=Server");
+   }
+
+   public ObjectName getJMSQueueObjectName(final String name) throws Exception
+   {
+      return createObjectName(JMS_MODULE, "Queue", name);
+   }
+
+   public ObjectName getJMSTopicObjectName(final String name) throws Exception
+   {
+      return createObjectName(JMS_MODULE, "Topic", name);
+   }
+
+   public ObjectName getConnectionFactoryObjectName(final String name) throws Exception
+   {
+      return createObjectName(JMS_MODULE, "ConnectionFactory", name);
+   }
+   
+   // Package protected ---------------------------------------------
+
+   // Protected -----------------------------------------------------
+
+   // Private -------------------------------------------------------
+
+   private ObjectName createObjectName(final String module, final String type, final String name) throws Exception
+   {
+      return getInstance(format("%s:module=%s,type=%s,name=%s", domain, module, type, quote(name)));
+   }
+
+   // Inner classes -------------------------------------------------
+
+   
+   
+}

Deleted: trunk/src/main/org/hornetq/core/management/ObjectNames.java
===================================================================
--- trunk/src/main/org/hornetq/core/management/ObjectNames.java	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/src/main/org/hornetq/core/management/ObjectNames.java	2009-10-06 14:06:10 UTC (rev 8054)
@@ -1,134 +0,0 @@
-/*
- * Copyright 2009 Red Hat, Inc.
- * Red Hat licenses this file to you under the Apache License, version
- * 2.0 (the "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *    http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied.  See the License for the specific language governing
- * permissions and limitations under the License.
- */
-
-package org.hornetq.core.management;
-
-import static java.lang.String.format;
-import static javax.management.ObjectName.getInstance;
-import static javax.management.ObjectName.quote;
-
-import javax.management.ObjectName;
-
-import org.hornetq.utils.SimpleString;
-
-/**
- * A ObjectNames
- *
- * @author <a href="jmesnil at redhat.com">Jeff Mesnil</a>
- *
- */
-public class ObjectNames
-{
-
-   // Constants -----------------------------------------------------
-
-   public static final String DOMAIN = "org.hornetq";
-
-   public static final String JMS_MODULE = "JMS";
-
-   public static final String CORE_MODULE = "Core";
-
-   // Attributes ----------------------------------------------------
-
-   // Static --------------------------------------------------------
-
-   public static ObjectName getHornetQServerObjectName() throws Exception
-   {
-      return getInstance(DOMAIN + ":module=Core,type=Server");
-   }
-
-   public static ObjectName getAddressObjectName(final SimpleString address) throws Exception
-   {
-      return createObjectName(CORE_MODULE, "Address", address.toString());
-   }
-
-   public static ObjectName getQueueObjectName(final SimpleString address, final SimpleString name) throws Exception
-   {
-      return getInstance(format("%s:module=%s,type=%s,address=%s,name=%s",
-                                DOMAIN,
-                                CORE_MODULE,
-                                "Queue",
-                                quote(address.toString()),
-                                quote(name.toString())));
-   }
-
-   public static ObjectName getDivertObjectName(final SimpleString name) throws Exception
-   {
-      return createObjectName(CORE_MODULE, "Divert", name.toString());
-   }
-
-   public static ObjectName getAcceptorObjectName(final String name) throws Exception
-   {
-      return createObjectName(CORE_MODULE, "Acceptor", name);
-   }
-
-   public static ObjectName getBroadcastGroupObjectName(final String name) throws Exception
-   {
-      return createObjectName(CORE_MODULE, "BroadcastGroup", name);
-   }
-
-   public static ObjectName getBridgeObjectName(final String name) throws Exception
-   {
-      return createObjectName(CORE_MODULE, "JMSBridge", name);
-   }
-   
-   public static ObjectName getClusterConnectionObjectName(String name) throws Exception
-   {
-      return createObjectName(CORE_MODULE, "ClusterConnection", name);
-   }
-
-   public static ObjectName getDiscoveryGroupObjectName(final String name) throws Exception
-   {
-      return createObjectName(CORE_MODULE, "DiscoveryGroup", name);
-   }
-
-   public static ObjectName getJMSServerObjectName() throws Exception
-   {
-      return getInstance(DOMAIN + ":module=JMS,type=Server");
-   }
-
-   public static ObjectName getJMSQueueObjectName(final String name) throws Exception
-   {
-      return createObjectName(JMS_MODULE, "Queue", name);
-   }
-
-   public static ObjectName getJMSTopicObjectName(final String name) throws Exception
-   {
-      return createObjectName(JMS_MODULE, "Topic", name);
-   }
-
-   public static ObjectName getConnectionFactoryObjectName(final String name) throws Exception
-   {
-      return createObjectName(JMS_MODULE, "ConnectionFactory", name);
-   }
-
-   // Constructors --------------------------------------------------
-
-   // Public --------------------------------------------------------
-
-   // Package protected ---------------------------------------------
-
-   // Protected -----------------------------------------------------
-
-   // Private -------------------------------------------------------
-
-   private static ObjectName createObjectName(final String module, final String type, final String name) throws Exception
-   {
-      return getInstance(format("%s:module=%s,type=%s,name=%s", DOMAIN, module, type, quote(name)));
-   }
-
-   // Inner classes -------------------------------------------------
-
-   
-   
-}

Modified: trunk/src/main/org/hornetq/core/management/impl/ManagementServiceImpl.java
===================================================================
--- trunk/src/main/org/hornetq/core/management/impl/ManagementServiceImpl.java	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/src/main/org/hornetq/core/management/impl/ManagementServiceImpl.java	2009-10-06 14:06:10 UTC (rev 8054)
@@ -49,7 +49,7 @@
 import org.hornetq.core.management.ManagementService;
 import org.hornetq.core.management.Notification;
 import org.hornetq.core.management.NotificationListener;
-import org.hornetq.core.management.ObjectNames;
+import org.hornetq.core.management.ObjectNameBuilder;
 import org.hornetq.core.management.ResourceNames;
 import org.hornetq.core.messagecounter.MessageCounter;
 import org.hornetq.core.messagecounter.MessageCounterManager;
@@ -126,6 +126,8 @@
 
    private final Set<NotificationListener> listeners = new org.hornetq.utils.ConcurrentHashSet<NotificationListener>();
 
+   private final ObjectNameBuilder objectNameBuilder;
+
    // Static --------------------------------------------------------
 
    private static void checkDefaultManagementClusterCredentials(String user, String password)
@@ -157,12 +159,18 @@
       registry = new HashMap<String, Object>();
       broadcaster = new NotificationBroadcasterSupport();
       notificationsEnabled = true;
+      objectNameBuilder = ObjectNameBuilder.create(configuration.getJMXDomain());
    }
 
    // Public --------------------------------------------------------
 
    // ManagementService implementation -------------------------
 
+   public ObjectNameBuilder getObjectNameBuilder()
+   {
+      return objectNameBuilder;
+   }
+   
    public MessageCounterManager getMessageCounterManager()
    {
       return messageCounterManager;
@@ -197,7 +205,7 @@
                                                             messagingServer,
                                                             messageCounterManager,
                                                             broadcaster);
-      ObjectName objectName = ObjectNames.getHornetQServerObjectName();
+      ObjectName objectName = objectNameBuilder.getHornetQServerObjectName();
       registerInJMX(objectName, messagingServerControl);
       registerInRegistry(ResourceNames.CORE_SERVER, messagingServerControl);
 
@@ -206,14 +214,14 @@
 
    public synchronized void unregisterServer() throws Exception
    {
-      ObjectName objectName = ObjectNames.getHornetQServerObjectName();
+      ObjectName objectName = objectNameBuilder.getHornetQServerObjectName();
       unregisterFromJMX(objectName);
       unregisterFromRegistry(ResourceNames.CORE_SERVER);
    }
 
    public synchronized void registerAddress(final SimpleString address) throws Exception
    {
-      ObjectName objectName = ObjectNames.getAddressObjectName(address);
+      ObjectName objectName = objectNameBuilder.getAddressObjectName(address);
       AddressControlImpl addressControl = new AddressControlImpl(address, postOffice, securityRepository);
 
       registerInJMX(objectName, addressControl);
@@ -228,7 +236,7 @@
 
    public synchronized void unregisterAddress(final SimpleString address) throws Exception
    {
-      ObjectName objectName = ObjectNames.getAddressObjectName(address);
+      ObjectName objectName = objectNameBuilder.getAddressObjectName(address);
 
       unregisterFromJMX(objectName);
       unregisterFromRegistry(ResourceNames.CORE_ADDRESS + address);
@@ -253,7 +261,7 @@
          queueControl.setMessageCounter(counter);
          messageCounterManager.registerMessageCounter(queue.getName().toString(), counter);
       }
-      ObjectName objectName = ObjectNames.getQueueObjectName(address, queue.getName());
+      ObjectName objectName = objectNameBuilder.getQueueObjectName(address, queue.getName());
       registerInJMX(objectName, queueControl);
       registerInRegistry(ResourceNames.CORE_QUEUE + queue.getName(), queueControl);
 
@@ -265,7 +273,7 @@
 
    public synchronized void unregisterQueue(final SimpleString name, final SimpleString address) throws Exception
    {
-      ObjectName objectName = ObjectNames.getQueueObjectName(address, name);
+      ObjectName objectName = objectNameBuilder.getQueueObjectName(address, name);
       unregisterFromJMX(objectName);
       unregisterFromRegistry(ResourceNames.CORE_QUEUE + name);
       messageCounterManager.unregisterMessageCounter(name.toString());
@@ -273,7 +281,7 @@
 
    public synchronized void registerDivert(Divert divert, DivertConfiguration config) throws Exception
    {
-      ObjectName objectName = ObjectNames.getDivertObjectName(divert.getUniqueName());
+      ObjectName objectName = objectNameBuilder.getDivertObjectName(divert.getUniqueName());
       DivertControl divertControl = new DivertControlImpl(divert, config);
       registerInJMX(objectName, new StandardMBean(divertControl, DivertControl.class));
       registerInRegistry(ResourceNames.CORE_DIVERT + config.getName(), divertControl);
@@ -286,14 +294,14 @@
 
    public synchronized void unregisterDivert(final SimpleString name) throws Exception
    {
-      ObjectName objectName = ObjectNames.getDivertObjectName(name);
+      ObjectName objectName = objectNameBuilder.getDivertObjectName(name);
       unregisterFromJMX(objectName);
       unregisterFromRegistry(ResourceNames.CORE_DIVERT + name);
    }
 
    public synchronized void registerAcceptor(final Acceptor acceptor, final TransportConfiguration configuration) throws Exception
    {
-      ObjectName objectName = ObjectNames.getAcceptorObjectName(configuration.getName());
+      ObjectName objectName = objectNameBuilder.getAcceptorObjectName(configuration.getName());
       AcceptorControl control = new AcceptorControlImpl(acceptor, configuration);
       registerInJMX(objectName, new StandardMBean(control, AcceptorControl.class));
       registerInRegistry(ResourceNames.CORE_ACCEPTOR + configuration.getName(), control);
@@ -326,7 +334,7 @@
 
    public synchronized void unregisterAcceptor(final String name) throws Exception
    {
-      ObjectName objectName = ObjectNames.getAcceptorObjectName(name);
+      ObjectName objectName = objectNameBuilder.getAcceptorObjectName(name);
       unregisterFromJMX(objectName);
       unregisterFromRegistry(ResourceNames.CORE_ACCEPTOR + name);
    }
@@ -335,7 +343,7 @@
                                                    BroadcastGroupConfiguration configuration) throws Exception
    {
       broadcastGroup.setNotificationService(this);
-      ObjectName objectName = ObjectNames.getBroadcastGroupObjectName(configuration.getName());
+      ObjectName objectName = objectNameBuilder.getBroadcastGroupObjectName(configuration.getName());
       BroadcastGroupControl control = new BroadcastGroupControlImpl(broadcastGroup, configuration);
       registerInJMX(objectName, new StandardMBean(control, BroadcastGroupControl.class));
       registerInRegistry(ResourceNames.CORE_BROADCAST_GROUP + configuration.getName(), control);
@@ -343,7 +351,7 @@
 
    public synchronized void unregisterBroadcastGroup(String name) throws Exception
    {
-      ObjectName objectName = ObjectNames.getBroadcastGroupObjectName(name);
+      ObjectName objectName = objectNameBuilder.getBroadcastGroupObjectName(name);
       unregisterFromJMX(objectName);
       unregisterFromRegistry(ResourceNames.CORE_BROADCAST_GROUP + name);
    }
@@ -352,7 +360,7 @@
                                                    DiscoveryGroupConfiguration configuration) throws Exception
    {
       discoveryGroup.setNotificationService(this);
-      ObjectName objectName = ObjectNames.getDiscoveryGroupObjectName(configuration.getName());
+      ObjectName objectName = objectNameBuilder.getDiscoveryGroupObjectName(configuration.getName());
       DiscoveryGroupControl control = new DiscoveryGroupControlImpl(discoveryGroup, configuration);
       registerInJMX(objectName, new StandardMBean(control, DiscoveryGroupControl.class));
       registerInRegistry(ResourceNames.CORE_DISCOVERY_GROUP + configuration.getName(), control);
@@ -360,7 +368,7 @@
 
    public synchronized void unregisterDiscoveryGroup(String name) throws Exception
    {
-      ObjectName objectName = ObjectNames.getDiscoveryGroupObjectName(name);
+      ObjectName objectName = objectNameBuilder.getDiscoveryGroupObjectName(name);
       unregisterFromJMX(objectName);
       unregisterFromRegistry(ResourceNames.CORE_DISCOVERY_GROUP + name);
    }
@@ -368,7 +376,7 @@
    public synchronized void registerBridge(Bridge bridge, BridgeConfiguration configuration) throws Exception
    {
       bridge.setNotificationService(this);
-      ObjectName objectName = ObjectNames.getBridgeObjectName(configuration.getName());
+      ObjectName objectName = objectNameBuilder.getBridgeObjectName(configuration.getName());
       BridgeControl control = new BridgeControlImpl(bridge, configuration);
       registerInJMX(objectName, new StandardMBean(control, BridgeControl.class));
       registerInRegistry(ResourceNames.CORE_BRIDGE + configuration.getName(), control);
@@ -376,7 +384,7 @@
 
    public synchronized void unregisterBridge(String name) throws Exception
    {
-      ObjectName objectName = ObjectNames.getBridgeObjectName(name);
+      ObjectName objectName = objectNameBuilder.getBridgeObjectName(name);
       unregisterFromJMX(objectName);
       unregisterFromRegistry(ResourceNames.CORE_BRIDGE + name);
    }
@@ -384,7 +392,7 @@
    public synchronized void registerCluster(final ClusterConnection cluster,
                                             final ClusterConnectionConfiguration configuration) throws Exception
    {
-      ObjectName objectName = ObjectNames.getClusterConnectionObjectName(configuration.getName());
+      ObjectName objectName = objectNameBuilder.getClusterConnectionObjectName(configuration.getName());
       ClusterConnectionControl control = new ClusterConnectionControlImpl(cluster, configuration);
       registerInJMX(objectName, new StandardMBean(control, ClusterConnectionControl.class));
       registerInRegistry(ResourceNames.CORE_CLUSTER_CONNECTION + configuration.getName(), control);
@@ -392,7 +400,7 @@
 
    public synchronized void unregisterCluster(final String name) throws Exception
    {
-      ObjectName objectName = ObjectNames.getClusterConnectionObjectName(name);
+      ObjectName objectName = objectNameBuilder.getClusterConnectionObjectName(name);
       unregisterFromJMX(objectName);
       unregisterFromRegistry(ResourceNames.CORE_CLUSTER_CONNECTION + name);
    }

Modified: trunk/src/main/org/hornetq/jms/server/management/impl/JMSManagementServiceImpl.java
===================================================================
--- trunk/src/main/org/hornetq/jms/server/management/impl/JMSManagementServiceImpl.java	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/src/main/org/hornetq/jms/server/management/impl/JMSManagementServiceImpl.java	2009-10-06 14:06:10 UTC (rev 8054)
@@ -19,7 +19,6 @@
 
 import org.hornetq.core.management.AddressControl;
 import org.hornetq.core.management.ManagementService;
-import org.hornetq.core.management.ObjectNames;
 import org.hornetq.core.management.QueueControl;
 import org.hornetq.core.management.ResourceNames;
 import org.hornetq.core.messagecounter.MessageCounter;
@@ -58,7 +57,7 @@
 
    public synchronized JMSServerControl registerJMSServer(final JMSServerManager server) throws Exception
    {
-      ObjectName objectName = ObjectNames.getJMSServerObjectName();
+      ObjectName objectName = managementService.getObjectNameBuilder().getJMSServerObjectName();
       JMSServerControlImpl control = new JMSServerControlImpl(server);
       managementService.registerInJMX(objectName,
                                       control);
@@ -68,7 +67,7 @@
 
    public synchronized void unregisterJMSServer() throws Exception
    {
-      ObjectName objectName = ObjectNames.getJMSServerObjectName();
+      ObjectName objectName = managementService.getObjectNameBuilder().getJMSServerObjectName();
       managementService.unregisterFromJMX(objectName);
       managementService.unregisterFromRegistry(ResourceNames.JMS_SERVER);
    }
@@ -85,7 +84,7 @@
                                                   coreQueueControl.isDurable(),
                                                   messageCounterManager.getMaxDayCount());
       messageCounterManager.registerMessageCounter(queue.getName(), counter);
-      ObjectName objectName = ObjectNames.getJMSQueueObjectName(queue.getQueueName());
+      ObjectName objectName = managementService.getObjectNameBuilder().getJMSQueueObjectName(queue.getQueueName());
       JMSQueueControlImpl control = new JMSQueueControlImpl(queue,
                                                     coreQueueControl,
                                                     jndiBinding,
@@ -96,7 +95,7 @@
 
    public synchronized void unregisterQueue(final String name) throws Exception
    {
-      ObjectName objectName = ObjectNames.getJMSQueueObjectName(name);
+      ObjectName objectName = managementService.getObjectNameBuilder().getJMSQueueObjectName(name);
       managementService.unregisterFromJMX(objectName);
       managementService.unregisterFromRegistry(ResourceNames.JMS_QUEUE + name);
    }
@@ -104,7 +103,7 @@
    public synchronized void registerTopic(final HornetQTopic topic,
                              final String jndiBinding) throws Exception
    {
-      ObjectName objectName = ObjectNames.getJMSTopicObjectName(topic.getTopicName());
+      ObjectName objectName = managementService.getObjectNameBuilder().getJMSTopicObjectName(topic.getTopicName());
       AddressControl addressControl = (AddressControl)managementService.getResource(ResourceNames.CORE_ADDRESS + topic.getAddress());
       JMSTopicControlImpl control = new JMSTopicControlImpl(topic, addressControl, jndiBinding, managementService);
       managementService.registerInJMX(objectName, control);
@@ -113,7 +112,7 @@
 
    public synchronized void unregisterTopic(final String name) throws Exception
    {
-      ObjectName objectName = ObjectNames.getJMSTopicObjectName(name);
+      ObjectName objectName = managementService.getObjectNameBuilder().getJMSTopicObjectName(name);
       managementService.unregisterFromJMX(objectName);
       managementService.unregisterFromRegistry(ResourceNames.JMS_TOPIC + name);
    }
@@ -122,7 +121,7 @@
                                          final HornetQConnectionFactory connectionFactory,
                                          final List<String> bindings) throws Exception
    {
-      ObjectName objectName = ObjectNames.getConnectionFactoryObjectName(name);
+      ObjectName objectName = managementService.getObjectNameBuilder().getConnectionFactoryObjectName(name);
       JMSConnectionFactoryControlImpl control = new JMSConnectionFactoryControlImpl(connectionFactory, name, bindings);
       managementService.registerInJMX(objectName, control);
       managementService.registerInRegistry(ResourceNames.JMS_CONNECTION_FACTORY + name, control);
@@ -130,7 +129,7 @@
 
    public synchronized void unregisterConnectionFactory(final String name) throws Exception
    {
-      ObjectName objectName = ObjectNames.getConnectionFactoryObjectName(name);
+      ObjectName objectName = managementService.getObjectNameBuilder().getConnectionFactoryObjectName(name);
       managementService.unregisterFromJMX(objectName);
       managementService.unregisterFromRegistry(ResourceNames.JMS_CONNECTION_FACTORY + name);
    }

Modified: trunk/tests/config/ConfigurationTest-full-config.xml
===================================================================
--- trunk/tests/config/ConfigurationTest-full-config.xml	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/tests/config/ConfigurationTest-full-config.xml	2009-10-06 14:06:10 UTC (rev 8054)
@@ -16,6 +16,7 @@
       <management-cluster-user>Frog</management-cluster-user>
       <management-cluster-password>Wombat</management-cluster-password>
       <jmx-management-enabled>false</jmx-management-enabled>
+      <jmx-domain>gro.qtenroh</jmx-domain>
       <log-delegate-factory-class-name>ocelot</log-delegate-factory-class-name>
       <message-counter-enabled>true</message-counter-enabled>
       <message-counter-max-day-history>5</message-counter-max-day-history>

Modified: trunk/tests/jms-tests/src/org/hornetq/jms/tests/tools/container/LocalTestServer.java
===================================================================
--- trunk/tests/jms-tests/src/org/hornetq/jms/tests/tools/container/LocalTestServer.java	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/tests/jms-tests/src/org/hornetq/jms/tests/tools/container/LocalTestServer.java	2009-10-06 14:06:10 UTC (rev 8054)
@@ -49,7 +49,7 @@
 
 import org.hornetq.core.config.TransportConfiguration;
 import org.hornetq.core.logging.Logger;
-import org.hornetq.core.management.ObjectNames;
+import org.hornetq.core.management.ObjectNameBuilder;
 import org.hornetq.core.management.ResourceNames;
 import org.hornetq.core.postoffice.Binding;
 import org.hornetq.core.postoffice.BindingType;
@@ -439,7 +439,7 @@
 
    public List<String> listAllSubscribersForTopic(String s) throws Exception
    {
-      ObjectName objectName = ObjectNames.getJMSTopicObjectName(s);
+      ObjectName objectName = ObjectNameBuilder.DEFAULT.getJMSTopicObjectName(s);
       TopicControl topic = (TopicControl)MBeanServerInvocationHandler.newProxyInstance(ManagementFactory.getPlatformMBeanServer(),
                                                                                                  objectName,
                                                                                                  TopicControl.class,

Modified: trunk/tests/src/org/hornetq/tests/integration/jms/server/management/JMSServerControlTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/jms/server/management/JMSServerControlTest.java	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/tests/src/org/hornetq/tests/integration/jms/server/management/JMSServerControlTest.java	2009-10-06 14:06:10 UTC (rev 8054)
@@ -28,7 +28,7 @@
 import org.hornetq.core.config.cluster.DiscoveryGroupConfiguration;
 import org.hornetq.core.config.impl.ConfigurationImpl;
 import org.hornetq.core.logging.Logger;
-import org.hornetq.core.management.ObjectNames;
+import org.hornetq.core.management.ObjectNameBuilder;
 import org.hornetq.core.remoting.impl.invm.InVMAcceptorFactory;
 import org.hornetq.core.remoting.impl.invm.InVMConnectorFactory;
 import org.hornetq.core.remoting.impl.invm.TransportConstants;
@@ -96,7 +96,7 @@
       String queueName = randomString();
 
       checkNoBinding(context, queueJNDIBinding);
-      checkNoResource(ObjectNames.getJMSQueueObjectName(queueName));
+      checkNoResource(ObjectNameBuilder.DEFAULT.getJMSQueueObjectName(queueName));
 
       JMSServerControl control = createManagementControl();
       control.createQueue(queueName, queueJNDIBinding);
@@ -105,7 +105,7 @@
       assertTrue(o instanceof Queue);
       Queue queue = (Queue)o;
       assertEquals(queueName, queue.getQueueName());
-      checkResource(ObjectNames.getJMSQueueObjectName(queueName));
+      checkResource(ObjectNameBuilder.DEFAULT.getJMSQueueObjectName(queueName));
 
    }
 
@@ -115,18 +115,18 @@
       String queueName = randomString();
 
       checkNoBinding(context, queueJNDIBinding);
-      checkNoResource(ObjectNames.getJMSQueueObjectName(queueName));
+      checkNoResource(ObjectNameBuilder.DEFAULT.getJMSQueueObjectName(queueName));
 
       JMSServerControl control = createManagementControl();
       control.createQueue(queueName, queueJNDIBinding);
 
       checkBinding(context, queueJNDIBinding);
-      checkResource(ObjectNames.getJMSQueueObjectName(queueName));
+      checkResource(ObjectNameBuilder.DEFAULT.getJMSQueueObjectName(queueName));
 
       control.destroyQueue(queueName);
 
       checkNoBinding(context, queueJNDIBinding);
-      checkNoResource(ObjectNames.getJMSQueueObjectName(queueName));
+      checkNoResource(ObjectNameBuilder.DEFAULT.getJMSQueueObjectName(queueName));
    }
    
    public void testGetQueueNames() throws Exception
@@ -154,7 +154,7 @@
       String topicName = randomString();
 
       checkNoBinding(context, topicJNDIBinding);
-      checkNoResource(ObjectNames.getJMSTopicObjectName(topicName));
+      checkNoResource(ObjectNameBuilder.DEFAULT.getJMSTopicObjectName(topicName));
 
       JMSServerControl control = createManagementControl();
       control.createTopic(topicName, topicJNDIBinding);
@@ -163,7 +163,7 @@
       assertTrue(o instanceof Topic);
       Topic topic = (Topic)o;
       assertEquals(topicName, topic.getTopicName());
-      checkResource(ObjectNames.getJMSTopicObjectName(topicName));
+      checkResource(ObjectNameBuilder.DEFAULT.getJMSTopicObjectName(topicName));
    }
 
    public void testDestroyTopic() throws Exception
@@ -172,18 +172,18 @@
       String topicName = randomString();
 
       checkNoBinding(context, topicJNDIBinding);
-      checkNoResource(ObjectNames.getJMSTopicObjectName(topicName));
+      checkNoResource(ObjectNameBuilder.DEFAULT.getJMSTopicObjectName(topicName));
 
       JMSServerControl control = createManagementControl();
       control.createTopic(topicName, topicJNDIBinding);
 
       checkBinding(context, topicJNDIBinding);
-      checkResource(ObjectNames.getJMSTopicObjectName(topicName));
+      checkResource(ObjectNameBuilder.DEFAULT.getJMSTopicObjectName(topicName));
 
       control.destroyTopic(topicName);
 
       checkNoBinding(context, topicJNDIBinding);
-      checkNoResource(ObjectNames.getJMSTopicObjectName(topicName));
+      checkNoResource(ObjectNameBuilder.DEFAULT.getJMSTopicObjectName(topicName));
    }
    
    public void testGetTopicNames() throws Exception
@@ -639,7 +639,7 @@
       {
          checkNoBinding(context, cfJNDIBinding.toString());
       }
-      checkNoResource(ObjectNames.getConnectionFactoryObjectName(cfName));
+      checkNoResource(ObjectNameBuilder.DEFAULT.getConnectionFactoryObjectName(cfName));
 
       JMSServerControl control = createManagementControl();
       creator.createConnectionFactory(control, cfName, cfJNDIBindings);
@@ -652,7 +652,7 @@
          Connection connection = cf.createConnection();
          connection.close();
       }
-      checkResource(ObjectNames.getConnectionFactoryObjectName(cfName));
+      checkResource(ObjectNameBuilder.DEFAULT.getConnectionFactoryObjectName(cfName));
    }
 
    private JMSServerManager startHornetQServer(int discoveryPort) throws Exception

Modified: trunk/tests/src/org/hornetq/tests/integration/management/BridgeControlTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/management/BridgeControlTest.java	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/tests/src/org/hornetq/tests/integration/management/BridgeControlTest.java	2009-10-06 14:06:10 UTC (rev 8054)
@@ -34,7 +34,7 @@
 import org.hornetq.core.management.BridgeControl;
 import org.hornetq.core.management.Notification;
 import org.hornetq.core.management.NotificationType;
-import org.hornetq.core.management.ObjectNames;
+import org.hornetq.core.management.ObjectNameBuilder;
 import org.hornetq.core.remoting.impl.invm.InVMAcceptorFactory;
 import org.hornetq.core.remoting.impl.invm.InVMConnectorFactory;
 import org.hornetq.core.server.HornetQ;
@@ -70,7 +70,7 @@
 
    public void testAttributes() throws Exception
    {
-      checkResource(ObjectNames.getBridgeObjectName(bridgeConfig.getName()));
+      checkResource(ObjectNameBuilder.DEFAULT.getBridgeObjectName(bridgeConfig.getName()));
       BridgeControl bridgeControl = createBridgeControl(bridgeConfig.getName(), mbeanServer);
 
       assertEquals(bridgeConfig.getName(), bridgeControl.getName());
@@ -93,7 +93,7 @@
 
    public void testStartStop() throws Exception
    {
-      checkResource(ObjectNames.getBridgeObjectName(bridgeConfig.getName()));
+      checkResource(ObjectNameBuilder.DEFAULT.getBridgeObjectName(bridgeConfig.getName()));
       BridgeControl bridgeControl = createBridgeControl(bridgeConfig.getName(), mbeanServer);
 
       // started by the server

Modified: trunk/tests/src/org/hornetq/tests/integration/management/BridgeControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/management/BridgeControlUsingCoreTest.java	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/tests/src/org/hornetq/tests/integration/management/BridgeControlUsingCoreTest.java	2009-10-06 14:06:10 UTC (rev 8054)
@@ -33,7 +33,7 @@
 import org.hornetq.core.config.cluster.BridgeConfiguration;
 import org.hornetq.core.config.cluster.QueueConfiguration;
 import org.hornetq.core.config.impl.ConfigurationImpl;
-import org.hornetq.core.management.ObjectNames;
+import org.hornetq.core.management.ObjectNameBuilder;
 import org.hornetq.core.management.ResourceNames;
 import org.hornetq.core.remoting.impl.invm.InVMAcceptorFactory;
 import org.hornetq.core.remoting.impl.invm.InVMConnectorFactory;
@@ -70,7 +70,7 @@
 
    public void testAttributes() throws Exception
    {
-      checkResource(ObjectNames.getBridgeObjectName(bridgeConfig.getName()));
+      checkResource(ObjectNameBuilder.DEFAULT.getBridgeObjectName(bridgeConfig.getName()));
       CoreMessagingProxy proxy = createProxy(bridgeConfig.getName());
 
       assertEquals(bridgeConfig.getName(), (String)proxy.retrieveAttributeValue("name"));
@@ -93,7 +93,7 @@
 
    public void testStartStop() throws Exception
    {
-      checkResource(ObjectNames.getBridgeObjectName(bridgeConfig.getName()));
+      checkResource(ObjectNameBuilder.DEFAULT.getBridgeObjectName(bridgeConfig.getName()));
       CoreMessagingProxy proxy = createProxy(bridgeConfig.getName());
 
       // started by the server

Modified: trunk/tests/src/org/hornetq/tests/integration/management/ClusterConnectionControlTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/management/ClusterConnectionControlTest.java	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/tests/src/org/hornetq/tests/integration/management/ClusterConnectionControlTest.java	2009-10-06 14:06:10 UTC (rev 8054)
@@ -33,7 +33,7 @@
 import org.hornetq.core.config.cluster.QueueConfiguration;
 import org.hornetq.core.config.impl.ConfigurationImpl;
 import org.hornetq.core.management.ClusterConnectionControl;
-import org.hornetq.core.management.ObjectNames;
+import org.hornetq.core.management.ObjectNameBuilder;
 import org.hornetq.core.remoting.impl.invm.InVMAcceptorFactory;
 import org.hornetq.core.remoting.impl.invm.InVMConnectorFactory;
 import org.hornetq.core.server.HornetQ;
@@ -73,7 +73,7 @@
 
    public void testAttributes1() throws Exception
    {
-      checkResource(ObjectNames.getClusterConnectionObjectName(clusterConnectionConfig1.getName()));
+      checkResource(ObjectNameBuilder.DEFAULT.getClusterConnectionObjectName(clusterConnectionConfig1.getName()));
 
       ClusterConnectionControl clusterConnectionControl = createManagementControl(clusterConnectionConfig1.getName());
 
@@ -107,7 +107,7 @@
    
    public void testAttributes2() throws Exception
    {
-      checkResource(ObjectNames.getClusterConnectionObjectName(clusterConnectionConfig2.getName()));
+      checkResource(ObjectNameBuilder.DEFAULT.getClusterConnectionObjectName(clusterConnectionConfig2.getName()));
 
       ClusterConnectionControl clusterConnectionControl = createManagementControl(clusterConnectionConfig2.getName());
 
@@ -131,7 +131,7 @@
 
    public void testStartStop() throws Exception
    {
-      checkResource(ObjectNames.getClusterConnectionObjectName(clusterConnectionConfig1.getName()));
+      checkResource(ObjectNameBuilder.DEFAULT.getClusterConnectionObjectName(clusterConnectionConfig1.getName()));
       ClusterConnectionControl clusterConnectionControl = createManagementControl(clusterConnectionConfig1.getName());
 
       // started by the server

Modified: trunk/tests/src/org/hornetq/tests/integration/management/DivertControlTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/management/DivertControlTest.java	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/tests/src/org/hornetq/tests/integration/management/DivertControlTest.java	2009-10-06 14:06:10 UTC (rev 8054)
@@ -22,7 +22,7 @@
 import org.hornetq.core.config.cluster.QueueConfiguration;
 import org.hornetq.core.config.impl.ConfigurationImpl;
 import org.hornetq.core.management.DivertControl;
-import org.hornetq.core.management.ObjectNames;
+import org.hornetq.core.management.ObjectNameBuilder;
 import org.hornetq.core.remoting.impl.invm.InVMAcceptorFactory;
 import org.hornetq.core.remoting.impl.invm.InVMConnectorFactory;
 import org.hornetq.core.server.HornetQ;
@@ -54,7 +54,7 @@
 
    public void testAttributes() throws Exception
    {
-      checkResource(ObjectNames.getDivertObjectName(new SimpleString(divertConfig.getName())));
+      checkResource(ObjectNameBuilder.DEFAULT.getDivertObjectName(new SimpleString(divertConfig.getName())));
       
       DivertControl divertControl = createManagementControl(divertConfig.getName());
 
@@ -114,7 +114,7 @@
    {
       service.stop();
 
-      checkNoResource(ObjectNames.getDivertObjectName(new SimpleString(divertConfig.getName())));
+      checkNoResource(ObjectNameBuilder.DEFAULT.getDivertObjectName(new SimpleString(divertConfig.getName())));
       
       service = null;
       

Modified: trunk/tests/src/org/hornetq/tests/integration/management/HornetQServerControlTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/management/HornetQServerControlTest.java	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/tests/src/org/hornetq/tests/integration/management/HornetQServerControlTest.java	2009-10-06 14:06:10 UTC (rev 8054)
@@ -23,7 +23,7 @@
 import org.hornetq.core.config.TransportConfiguration;
 import org.hornetq.core.config.impl.ConfigurationImpl;
 import org.hornetq.core.management.HornetQServerControl;
-import org.hornetq.core.management.ObjectNames;
+import org.hornetq.core.management.ObjectNameBuilder;
 import org.hornetq.core.management.QueueControl;
 import org.hornetq.core.messagecounter.impl.MessageCounterManagerImpl;
 import org.hornetq.core.remoting.impl.invm.InVMAcceptorFactory;
@@ -158,11 +158,11 @@
 
       HornetQServerControl serverControl = createManagementControl();
 
-      checkNoResource(ObjectNames.getQueueObjectName(address, name));
+      checkNoResource(ObjectNameBuilder.DEFAULT.getQueueObjectName(address, name));
 
       serverControl.createQueue(address.toString(), name.toString());
 
-      checkResource(ObjectNames.getQueueObjectName(address, name));
+      checkResource(ObjectNameBuilder.DEFAULT.getQueueObjectName(address, name));
       QueueControl queueControl = ManagementControlHelper.createQueueControl(address, name, mbeanServer);
       assertEquals(address.toString(), queueControl.getAddress());
       assertEquals(name.toString(), queueControl.getName());
@@ -172,7 +172,7 @@
 
       serverControl.destroyQueue(name.toString());
 
-      checkNoResource(ObjectNames.getQueueObjectName(address, name));
+      checkNoResource(ObjectNameBuilder.DEFAULT.getQueueObjectName(address, name));
    }
 
    public void testCreateAndDestroyQueue_2() throws Exception
@@ -184,11 +184,11 @@
 
       HornetQServerControl serverControl = createManagementControl();
 
-      checkNoResource(ObjectNames.getQueueObjectName(address, name));
+      checkNoResource(ObjectNameBuilder.DEFAULT.getQueueObjectName(address, name));
 
       serverControl.createQueue(address.toString(), name.toString(), filter, durable);
 
-      checkResource(ObjectNames.getQueueObjectName(address, name));
+      checkResource(ObjectNameBuilder.DEFAULT.getQueueObjectName(address, name));
       QueueControl queueControl = ManagementControlHelper.createQueueControl(address, name, mbeanServer);
       assertEquals(address.toString(), queueControl.getAddress());
       assertEquals(name.toString(), queueControl.getName());
@@ -198,7 +198,7 @@
 
       serverControl.destroyQueue(name.toString());
 
-      checkNoResource(ObjectNames.getQueueObjectName(address, name));
+      checkNoResource(ObjectNameBuilder.DEFAULT.getQueueObjectName(address, name));
    }
    
    public void testCreateAndDestroyQueue_3() throws Exception
@@ -209,11 +209,11 @@
 
       HornetQServerControl serverControl = createManagementControl();
 
-      checkNoResource(ObjectNames.getQueueObjectName(address, name));
+      checkNoResource(ObjectNameBuilder.DEFAULT.getQueueObjectName(address, name));
 
       serverControl.createQueue(address.toString(), name.toString(), durable);
 
-      checkResource(ObjectNames.getQueueObjectName(address, name));
+      checkResource(ObjectNameBuilder.DEFAULT.getQueueObjectName(address, name));
       QueueControl queueControl = ManagementControlHelper.createQueueControl(address, name, mbeanServer);
       assertEquals(address.toString(), queueControl.getAddress());
       assertEquals(name.toString(), queueControl.getName());
@@ -223,7 +223,7 @@
 
       serverControl.destroyQueue(name.toString());
 
-      checkNoResource(ObjectNames.getQueueObjectName(address, name));
+      checkNoResource(ObjectNameBuilder.DEFAULT.getQueueObjectName(address, name));
    }
 
    public void testCreateAndDestroyQueueWithNullFilter() throws Exception
@@ -235,11 +235,11 @@
 
       HornetQServerControl serverControl = createManagementControl();
 
-      checkNoResource(ObjectNames.getQueueObjectName(address, name));
+      checkNoResource(ObjectNameBuilder.DEFAULT.getQueueObjectName(address, name));
 
       serverControl.createQueue(address.toString(), name.toString(), filter, durable);
 
-      checkResource(ObjectNames.getQueueObjectName(address, name));
+      checkResource(ObjectNameBuilder.DEFAULT.getQueueObjectName(address, name));
       QueueControl queueControl = ManagementControlHelper.createQueueControl(address, name, mbeanServer);
       assertEquals(address.toString(), queueControl.getAddress());
       assertEquals(name.toString(), queueControl.getName());
@@ -249,7 +249,7 @@
 
       serverControl.destroyQueue(name.toString());
 
-      checkNoResource(ObjectNames.getQueueObjectName(address, name));
+      checkNoResource(ObjectNameBuilder.DEFAULT.getQueueObjectName(address, name));
    }
    
    public void testCreateAndDestroyQueueWithEmptyStringForFilter() throws Exception
@@ -261,11 +261,11 @@
 
       HornetQServerControl serverControl = createManagementControl();
 
-      checkNoResource(ObjectNames.getQueueObjectName(address, name));
+      checkNoResource(ObjectNameBuilder.DEFAULT.getQueueObjectName(address, name));
 
       serverControl.createQueue(address.toString(), name.toString(), filter, durable);
 
-      checkResource(ObjectNames.getQueueObjectName(address, name));
+      checkResource(ObjectNameBuilder.DEFAULT.getQueueObjectName(address, name));
       QueueControl queueControl = ManagementControlHelper.createQueueControl(address, name, mbeanServer);
       assertEquals(address.toString(), queueControl.getAddress());
       assertEquals(name.toString(), queueControl.getName());
@@ -275,7 +275,7 @@
 
       serverControl.destroyQueue(name.toString());
 
-      checkNoResource(ObjectNames.getQueueObjectName(address, name));
+      checkNoResource(ObjectNameBuilder.DEFAULT.getQueueObjectName(address, name));
    }
    
    public void testGetQueueNames() throws Exception

Added: trunk/tests/src/org/hornetq/tests/integration/management/JMXDomainTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/management/JMXDomainTest.java	                        (rev 0)
+++ trunk/tests/src/org/hornetq/tests/integration/management/JMXDomainTest.java	2009-10-06 14:06:10 UTC (rev 8054)
@@ -0,0 +1,101 @@
+/*
+ * Copyright 2009 Red Hat, Inc.
+ * Red Hat licenses this file to you under the Apache License, version
+ * 2.0 (the "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied.  See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+
+package org.hornetq.tests.integration.management;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.hornetq.core.config.Configuration;
+import org.hornetq.core.config.TransportConfiguration;
+import org.hornetq.core.config.impl.ConfigurationImpl;
+import org.hornetq.core.management.ObjectNameBuilder;
+import org.hornetq.core.remoting.impl.invm.InVMAcceptorFactory;
+import org.hornetq.core.remoting.impl.invm.TransportConstants;
+import org.hornetq.core.server.HornetQ;
+import org.hornetq.core.server.HornetQServer;
+
+/**
+ * A JMXDomainTest
+ *
+ * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
+ *
+ *
+ */
+public class JMXDomainTest extends ManagementTestBase
+{
+
+   // Constants -----------------------------------------------------
+
+   // Attributes ----------------------------------------------------
+
+   // Static --------------------------------------------------------
+
+   // Constructors --------------------------------------------------
+
+   // Public --------------------------------------------------------
+
+   public void test2HornetQServersManagedFrom1MBeanServer() throws Exception
+   {
+      
+      Configuration config_0 = createDefaultConfig();
+      config_0.setJMXManagementEnabled(true);
+      
+      String jmxDomain_1 = ConfigurationImpl.DEFAULT_JMX_DOMAIN + ".1";
+      
+      Configuration config_1 = new ConfigurationImpl();
+      Map<String, Object> params = new HashMap<String, Object>();
+      params.put(TransportConstants.SERVER_ID_PROP_NAME, 1);
+      config_1.getAcceptorConfigurations().add(new TransportConfiguration(InVMAcceptorFactory.class.getName(), params));
+      config_1.setJMXDomain(jmxDomain_1);
+      config_1.setJMXManagementEnabled(true);
+      
+      HornetQServer server_0 = HornetQ.newHornetQServer(config_0, mbeanServer, false);
+      HornetQServer server_1 = HornetQ.newHornetQServer(config_1, mbeanServer, false);
+
+      ObjectNameBuilder builder_0 = ObjectNameBuilder.DEFAULT;
+      ObjectNameBuilder builder_1 = ObjectNameBuilder.create(jmxDomain_1);
+
+      checkNoResource(builder_0.getHornetQServerObjectName());
+      checkNoResource(builder_1.getHornetQServerObjectName());
+      
+      server_0.start();
+      
+      checkResource(builder_0.getHornetQServerObjectName());
+      checkNoResource(builder_1.getHornetQServerObjectName());
+
+      server_1.start();
+      
+      checkResource(builder_0.getHornetQServerObjectName());
+      checkResource(builder_1.getHornetQServerObjectName());
+
+      server_0.stop();
+      
+      checkNoResource(builder_0.getHornetQServerObjectName());
+      checkResource(builder_1.getHornetQServerObjectName());
+
+      server_1.stop();
+      
+      checkNoResource(builder_0.getHornetQServerObjectName());
+      checkNoResource(builder_1.getHornetQServerObjectName());
+
+   }
+   // Package protected ---------------------------------------------
+
+   // Protected -----------------------------------------------------
+
+   // Private -------------------------------------------------------
+
+   // Inner classes -------------------------------------------------
+
+}

Modified: trunk/tests/src/org/hornetq/tests/integration/management/ManagementControlHelper.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/management/ManagementControlHelper.java	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/tests/src/org/hornetq/tests/integration/management/ManagementControlHelper.java	2009-10-06 14:06:10 UTC (rev 8054)
@@ -27,7 +27,7 @@
 import org.hornetq.core.management.DiscoveryGroupControl;
 import org.hornetq.core.management.DivertControl;
 import org.hornetq.core.management.HornetQServerControl;
-import org.hornetq.core.management.ObjectNames;
+import org.hornetq.core.management.ObjectNameBuilder;
 import org.hornetq.core.management.QueueControl;
 import org.hornetq.jms.server.management.ConnectionFactoryControl;
 import org.hornetq.jms.server.management.JMSQueueControl;
@@ -52,57 +52,63 @@
 
    public static AcceptorControl createAcceptorControl(String name, MBeanServer mbeanServer) throws Exception
    {
-      return (AcceptorControl)createProxy(ObjectNames.getAcceptorObjectName(name), AcceptorControl.class, mbeanServer);
+      return (AcceptorControl)createProxy(ObjectNameBuilder.DEFAULT.getAcceptorObjectName(name),
+                                          AcceptorControl.class,
+                                          mbeanServer);
    }
 
    public static BroadcastGroupControl createBroadcastGroupControl(String name, MBeanServer mbeanServer) throws Exception
    {
-      return (BroadcastGroupControl)createProxy(ObjectNames.getBroadcastGroupObjectName(name),
+      return (BroadcastGroupControl)createProxy(ObjectNameBuilder.DEFAULT.getBroadcastGroupObjectName(name),
                                                 BroadcastGroupControl.class,
                                                 mbeanServer);
    }
 
    public static DiscoveryGroupControl createDiscoveryGroupControl(String name, MBeanServer mbeanServer) throws Exception
    {
-      return (DiscoveryGroupControl)createProxy(ObjectNames.getDiscoveryGroupObjectName(name),
+      return (DiscoveryGroupControl)createProxy(ObjectNameBuilder.DEFAULT.getDiscoveryGroupObjectName(name),
                                                 DiscoveryGroupControl.class,
                                                 mbeanServer);
    }
 
    public static BridgeControl createBridgeControl(String name, MBeanServer mbeanServer) throws Exception
    {
-      return (BridgeControl)createProxy(ObjectNames.getBridgeObjectName(name), BridgeControl.class, mbeanServer);
+      return (BridgeControl)createProxy(ObjectNameBuilder.DEFAULT.getBridgeObjectName(name), BridgeControl.class, mbeanServer);
    }
 
    public static DivertControl createDivertControl(String name, MBeanServer mbeanServer) throws Exception
    {
-      return (DivertControl)createProxy(ObjectNames.getDivertObjectName(new SimpleString(name)),
+      return (DivertControl)createProxy(ObjectNameBuilder.DEFAULT.getDivertObjectName(new SimpleString(name)),
                                         DivertControl.class,
                                         mbeanServer);
    }
 
    public static ClusterConnectionControl createClusterConnectionControl(String name, MBeanServer mbeanServer) throws Exception
    {
-      return (ClusterConnectionControl)createProxy(ObjectNames.getClusterConnectionObjectName(name),
+      return (ClusterConnectionControl)createProxy(ObjectNameBuilder.DEFAULT.getClusterConnectionObjectName(name),
                                                    ClusterConnectionControl.class,
                                                    mbeanServer);
    }
 
    public static HornetQServerControl createHornetQServerControl(MBeanServer mbeanServer) throws Exception
    {
-      return (HornetQServerControl)createProxy(ObjectNames.getHornetQServerObjectName(),
+      return (HornetQServerControl)createProxy(ObjectNameBuilder.DEFAULT.getHornetQServerObjectName(),
                                                HornetQServerControl.class,
                                                mbeanServer);
    }
 
    public static QueueControl createQueueControl(SimpleString address, SimpleString name, MBeanServer mbeanServer) throws Exception
    {
-      return (QueueControl)createProxy(ObjectNames.getQueueObjectName(address, name), QueueControl.class, mbeanServer);
+      return (QueueControl)createProxy(ObjectNameBuilder.DEFAULT.getQueueObjectName(address, name),
+                                       QueueControl.class,
+                                       mbeanServer);
    }
 
    public static AddressControl createAddressControl(SimpleString address, MBeanServer mbeanServer) throws Exception
    {
-      return (AddressControl)createProxy(ObjectNames.getAddressObjectName(address), AddressControl.class, mbeanServer);
+      return (AddressControl)createProxy(ObjectNameBuilder.DEFAULT.getAddressObjectName(address),
+                                         AddressControl.class,
+                                         mbeanServer);
    }
 
    public static JMSQueueControl createJMSQueueControl(Queue queue, MBeanServer mbeanServer) throws Exception
@@ -112,24 +118,28 @@
 
    public static JMSQueueControl createJMSQueueControl(String name, MBeanServer mbeanServer) throws Exception
    {
-      return (JMSQueueControl)createProxy(ObjectNames.getJMSQueueObjectName(name), JMSQueueControl.class, mbeanServer);
+      return (JMSQueueControl)createProxy(ObjectNameBuilder.DEFAULT.getJMSQueueObjectName(name),
+                                          JMSQueueControl.class,
+                                          mbeanServer);
    }
 
    public static JMSServerControl createJMSServerControl(MBeanServer mbeanServer) throws Exception
    {
-      return (JMSServerControl)createProxy(ObjectNames.getJMSServerObjectName(), JMSServerControl.class, mbeanServer);
+      return (JMSServerControl)createProxy(ObjectNameBuilder.DEFAULT.getJMSServerObjectName(),
+                                           JMSServerControl.class,
+                                           mbeanServer);
    }
 
    public static ConnectionFactoryControl createConnectionFactoryControl(String name, MBeanServer mbeanServer) throws Exception
    {
-      return (ConnectionFactoryControl)createProxy(ObjectNames.getConnectionFactoryObjectName(name),
+      return (ConnectionFactoryControl)createProxy(ObjectNameBuilder.DEFAULT.getConnectionFactoryObjectName(name),
                                                    ConnectionFactoryControl.class,
                                                    mbeanServer);
    }
 
    public static TopicControl createTopicControl(Topic topic, MBeanServer mbeanServer) throws Exception
    {
-      return (TopicControl)createProxy(ObjectNames.getJMSTopicObjectName(topic.getTopicName()),
+      return (TopicControl)createProxy(ObjectNameBuilder.DEFAULT.getJMSTopicObjectName(topic.getTopicName()),
                                        TopicControl.class,
                                        mbeanServer);
    }

Modified: trunk/tests/src/org/hornetq/tests/integration/management/ManagementTestBase.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/management/ManagementTestBase.java	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/tests/src/org/hornetq/tests/integration/management/ManagementTestBase.java	2009-10-06 14:06:10 UTC (rev 8054)
@@ -20,7 +20,7 @@
 import org.hornetq.core.client.ClientConsumer;
 import org.hornetq.core.client.ClientMessage;
 import org.hornetq.core.client.ClientSession;
-import org.hornetq.tests.util.UnitTestCase;
+import org.hornetq.tests.util.ServiceTestBase;
 import org.hornetq.utils.SimpleString;
 
 /**
@@ -30,7 +30,7 @@
  *
  *
  */
-public abstract class ManagementTestBase extends UnitTestCase
+public abstract class ManagementTestBase extends ServiceTestBase
 {
 
    // Constants -----------------------------------------------------

Modified: trunk/tests/src/org/hornetq/tests/unit/core/config/impl/DefaultsFileConfigurationTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/unit/core/config/impl/DefaultsFileConfigurationTest.java	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/tests/src/org/hornetq/tests/unit/core/config/impl/DefaultsFileConfigurationTest.java	2009-10-06 14:06:10 UTC (rev 8054)
@@ -49,6 +49,8 @@
 
       assertEquals(ConfigurationImpl.DEFAULT_JMX_MANAGEMENT_ENABLED, conf.isJMXManagementEnabled());
 
+      assertEquals(ConfigurationImpl.DEFAULT_JMX_DOMAIN, conf.getJMXDomain());
+
       assertEquals(0, conf.getInterceptorClassNames().size());
   
       assertEquals(ConfigurationImpl.DEFAULT_CONNECTION_TTL_OVERRIDE, conf.getConnectionTTLOverride());

Modified: trunk/tests/src/org/hornetq/tests/unit/core/config/impl/FileConfigurationTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/unit/core/config/impl/FileConfigurationTest.java	2009-10-06 09:53:21 UTC (rev 8053)
+++ trunk/tests/src/org/hornetq/tests/unit/core/config/impl/FileConfigurationTest.java	2009-10-06 14:06:10 UTC (rev 8054)
@@ -49,6 +49,7 @@
       assertEquals("Frog", conf.getManagementClusterUser());
       assertEquals("Wombat", conf.getManagementClusterPassword());
       assertEquals(false, conf.isJMXManagementEnabled());
+      assertEquals("gro.qtenroh", conf.getJMXDomain());
       assertEquals(true, conf.isMessageCounterEnabled());
       assertEquals(5, conf.getMessageCounterMaxDayHistory());
       assertEquals(123456, conf.getMessageCounterSamplePeriod());



More information about the hornetq-commits mailing list