From fcc42e75becfec4d46496cc13ad5277036ed9383 Mon Sep 17 00:00:00 2001 From: Robert Gemmell Date: Mon, 26 Nov 2012 15:16:00 +0000 Subject: QPID-4474: quote the name within the JMX ObjectName for the BDBHAMessageStore MBean git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1413676 13f79535-47bb-0310-9956-ffa450edef68 --- .../java-broker/Java-Broker-High-Availability.xml | 4 ++-- .../images/HA-BDBHAMessageStore-MBean-jconsole.png | Bin 52500 -> 52533 bytes .../jmx/BDBHAMessageStoreManagerMBean.java | 3 ++- .../store/berkeleydb/HAClusterManagementTest.java | 3 ++- .../store/berkeleydb/HAClusterTwoNodeTest.java | 3 ++- .../jmx/BDBHAMessageStoreManagerMBeanTest.java | 3 ++- 6 files changed, 10 insertions(+), 6 deletions(-) diff --git a/doc/book/src/java-broker/Java-Broker-High-Availability.xml b/doc/book/src/java-broker/Java-Broker-High-Availability.xml index 618533dc5f..7ea9dae38a 100644 --- a/doc/book/src/java-broker/Java-Broker-High-Availability.xml +++ b/doc/book/src/java-broker/Java-Broker-High-Availability.xml @@ -506,7 +506,7 @@ amqp://guest:guest@clientid/test?brokerlist='tcp://localhost:5672?connectdelay=' Qpid exposes the BDB HA store information via its JMX interface and provides APIs to remove a Node from the group, update a Node IP address, and assign a Node as the designated primary. An instance of the BDBHAMessageStore MBean is instantiated by the broker for the each virtualhost using the HA store. - The reference to this MBean can be obtained via JMX API using an ObjectName like org.apache.qpid:type=BDBHAMessageStore,name=<virtualhost name> + The reference to this MBean can be obtained via JMX API using an ObjectName like org.apache.qpid:type=BDBHAMessageStore,name="<virtualhost name>" where <virtualhost name> is the name of a specific virtualhost on the broker. Mbean <classname>BDBHAMessageStore</classname> attributes @@ -630,7 +630,7 @@ JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost: JMXConnector jmxConnector = JMXConnectorFactory.connect(url, environment); MBeanServerConnection mbsc = jmxConnector.getMBeanServerConnection(); -ObjectName queueObjectName = new ObjectName("org.apache.qpid:type=BDBHAMessageStore,name=test"); +ObjectName queueObjectName = new ObjectName("org.apache.qpid:type=BDBHAMessageStore,name=\"test\""); String state = (String)mbsc.getAttribute(queueObjectName, "NodeState"); System.out.println("Node state:" + state); diff --git a/doc/book/src/java-broker/images/HA-BDBHAMessageStore-MBean-jconsole.png b/doc/book/src/java-broker/images/HA-BDBHAMessageStore-MBean-jconsole.png index 6caaacb1e1..29d5494746 100644 Binary files a/doc/book/src/java-broker/images/HA-BDBHAMessageStore-MBean-jconsole.png and b/doc/book/src/java-broker/images/HA-BDBHAMessageStore-MBean-jconsole.png differ diff --git a/java/bdbstore/jmx/src/main/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBean.java b/java/bdbstore/jmx/src/main/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBean.java index cfcea602b4..28528ec83c 100644 --- a/java/bdbstore/jmx/src/main/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBean.java +++ b/java/bdbstore/jmx/src/main/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBean.java @@ -24,6 +24,7 @@ import java.util.List; import java.util.Map; import javax.management.JMException; +import javax.management.ObjectName; import javax.management.openmbean.CompositeData; import javax.management.openmbean.CompositeDataSupport; import javax.management.openmbean.CompositeType; @@ -91,7 +92,7 @@ public class BDBHAMessageStoreManagerMBean extends AMQManagedObject implements M @Override public String getObjectInstanceName() { - return _store.getName(); + return ObjectName.quote(_store.getName()); } @Override diff --git a/java/bdbstore/jmx/src/test/java/org/apache/qpid/server/store/berkeleydb/HAClusterManagementTest.java b/java/bdbstore/jmx/src/test/java/org/apache/qpid/server/store/berkeleydb/HAClusterManagementTest.java index 98e30bfaaf..bf1381bb02 100644 --- a/java/bdbstore/jmx/src/test/java/org/apache/qpid/server/store/berkeleydb/HAClusterManagementTest.java +++ b/java/bdbstore/jmx/src/test/java/org/apache/qpid/server/store/berkeleydb/HAClusterManagementTest.java @@ -30,6 +30,7 @@ import java.util.Iterator; import java.util.Set; import javax.jms.Connection; +import javax.management.ObjectName; import javax.management.openmbean.CompositeData; import javax.management.openmbean.TabularData; @@ -54,7 +55,7 @@ public class HAClusterManagementTest extends QpidBrokerTestCase private static final Set NON_MASTER_STATES = new HashSet(Arrays.asList(REPLICA.toString(), DETACHED.toString(), UNKNOWN.toString()));; private static final String VIRTUAL_HOST = "test"; - private static final String MANAGED_OBJECT_QUERY = "org.apache.qpid:type=BDBHAMessageStore,name=" + VIRTUAL_HOST; + private static final String MANAGED_OBJECT_QUERY = "org.apache.qpid:type=BDBHAMessageStore,name=" + ObjectName.quote(VIRTUAL_HOST); private static final int NUMBER_OF_NODES = 4; private final HATestClusterCreator _clusterCreator = new HATestClusterCreator(this, VIRTUAL_HOST, NUMBER_OF_NODES); diff --git a/java/bdbstore/jmx/src/test/java/org/apache/qpid/server/store/berkeleydb/HAClusterTwoNodeTest.java b/java/bdbstore/jmx/src/test/java/org/apache/qpid/server/store/berkeleydb/HAClusterTwoNodeTest.java index 22877ec36c..b8f5a11fbd 100644 --- a/java/bdbstore/jmx/src/test/java/org/apache/qpid/server/store/berkeleydb/HAClusterTwoNodeTest.java +++ b/java/bdbstore/jmx/src/test/java/org/apache/qpid/server/store/berkeleydb/HAClusterTwoNodeTest.java @@ -27,6 +27,7 @@ import javax.jms.JMSException; import javax.jms.Message; import javax.jms.MessageConsumer; import javax.jms.Session; +import javax.management.ObjectName; import org.apache.qpid.jms.ConnectionURL; import org.apache.qpid.server.store.berkeleydb.jmx.ManagedBDBHAMessageStore; @@ -41,7 +42,7 @@ public class HAClusterTwoNodeTest extends QpidBrokerTestCase private static final String VIRTUAL_HOST = "test"; - private static final String MANAGED_OBJECT_QUERY = "org.apache.qpid:type=BDBHAMessageStore,name=" + VIRTUAL_HOST; + private static final String MANAGED_OBJECT_QUERY = "org.apache.qpid:type=BDBHAMessageStore,name=" + ObjectName.quote(VIRTUAL_HOST); private static final int NUMBER_OF_NODES = 2; private final HATestClusterCreator _clusterCreator = new HATestClusterCreator(this, VIRTUAL_HOST, NUMBER_OF_NODES); diff --git a/java/bdbstore/jmx/src/test/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBeanTest.java b/java/bdbstore/jmx/src/test/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBeanTest.java index 49b3ddd3dc..298d5bc045 100644 --- a/java/bdbstore/jmx/src/test/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBeanTest.java +++ b/java/bdbstore/jmx/src/test/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBeanTest.java @@ -30,6 +30,7 @@ import java.util.List; import java.util.Map; import javax.management.JMException; +import javax.management.ObjectName; import javax.management.openmbean.CompositeData; import javax.management.openmbean.CompositeType; import javax.management.openmbean.TabularData; @@ -84,7 +85,7 @@ public class BDBHAMessageStoreManagerMBeanTest extends TestCase { when(_store.getName()).thenReturn(TEST_STORE_NAME); - String expectedObjectName = "org.apache.qpid:type=BDBHAMessageStore,name=" + TEST_STORE_NAME; + String expectedObjectName = "org.apache.qpid:type=BDBHAMessageStore,name=" + ObjectName.quote(TEST_STORE_NAME); assertEquals(expectedObjectName, _mBean.getObjectName().toString()); } -- cgit v1.2.1