From 0d19d80e80c3169ec38bda19450573a6301932ca Mon Sep 17 00:00:00 2001 From: Keith Wall Date: Thu, 24 Jul 2014 17:39:38 +0000 Subject: NO-JIRA: [Java Broker] update JMX QueueInformation example to use the necessary quoted elements in its ObjectNames git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1613198 13f79535-47bb-0310-9956-ffa450edef68 --- .../qpid/example/jmxexample/QueueInformation.java | 34 +++++++++++++--------- 1 file changed, 20 insertions(+), 14 deletions(-) (limited to 'qpid/java') diff --git a/qpid/java/management/example/src/main/java/org/apache/qpid/example/jmxexample/QueueInformation.java b/qpid/java/management/example/src/main/java/org/apache/qpid/example/jmxexample/QueueInformation.java index 2b34e2da5d..faac704dbc 100644 --- a/qpid/java/management/example/src/main/java/org/apache/qpid/example/jmxexample/QueueInformation.java +++ b/qpid/java/management/example/src/main/java/org/apache/qpid/example/jmxexample/QueueInformation.java @@ -119,7 +119,7 @@ public class QueueInformation _mbsc = con.getMBeanServerConnection(); - Set names = _mbsc.queryNames(new ObjectName("org.apache.qpid:type=VirtualHost.Queue,VirtualHost=" + _vhost + ",*"), null); + Set names = _mbsc.queryNames(new ObjectName("org.apache.qpid:type=VirtualHost.Queue,VirtualHost=" + ObjectName.quote(_vhost) + ",*"), null); // Print header if (names.size() > 0) @@ -248,7 +248,7 @@ public class QueueInformation private static void getDetails(boolean printRates) throws Exception { - for (ObjectName object : getMatchingObjects()) + for (ObjectName object : getMatchingObjects(_queueNames)) { try { @@ -334,27 +334,33 @@ public class QueueInformation return con; } - public static ObjectName[] getMatchingObjects() throws IOException, MalformedObjectNameException + public static ObjectName[] getMatchingObjects(Set queueNames) throws IOException, MalformedObjectNameException { + Set requestedObjects = new HashSet<>(); - // Gets all Queues names - if (_queueNames == null) + if (queueNames == null) { - _queueNames = new HashSet(); - _queueNames.add("*"); - } - - Set requestedObjects = new HashSet(); - - for (String queue : _queueNames) - { - Set matchingObjects = _mbsc.queryNames(new ObjectName("org.apache.qpid:type=VirtualHost.Queue,VirtualHost=" + _vhost + ",name=" + queue + ",*"), null); + // Gets all Queues names + Set matchingObjects = _mbsc.queryNames(new ObjectName("org.apache.qpid:type=VirtualHost.Queue,VirtualHost=" + ObjectName.quote(_vhost) + ",name=*,*"), null); if (!matchingObjects.isEmpty()) { requestedObjects.addAll(matchingObjects); } } + else + { + for (String queue : queueNames) + { + Set matchingObjects = _mbsc.queryNames(new ObjectName("org.apache.qpid:type=VirtualHost.Queue,VirtualHost=" + ObjectName.quote(_vhost) + ",name=" + ObjectName.quote(queue) + ",*"), null); + + if (!matchingObjects.isEmpty()) + { + requestedObjects.addAll(matchingObjects); + } + } + + } return requestedObjects.toArray(new ObjectName[requestedObjects.size()]); } -- cgit v1.2.1