Repository: activemq
Updated Branches:
  refs/heads/trunk 0b7d9420c -> 4eb5097f2


https://issues.apache.org/jira/browse/AMQ-5165 - fix for destination stats name


Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/4eb5097f
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/4eb5097f
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/4eb5097f

Branch: refs/heads/trunk
Commit: 4eb5097f22a1ca2a3901a343f4dbb1e4b5a45b4a
Parents: 0b7d942
Author: Dejan Bosanac <[email protected]>
Authored: Wed Apr 30 10:44:28 2014 +0200
Committer: Dejan Bosanac <[email protected]>
Committed: Wed Apr 30 10:44:47 2014 +0200

----------------------------------------------------------------------
 .../activemq/plugin/StatisticsBroker.java       |  3 ++
 .../plugin/BrokerStatisticsPluginTest.java      | 30 ++++++++++++++++++--
 2 files changed, 31 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq/blob/4eb5097f/activemq-broker/src/main/java/org/apache/activemq/plugin/StatisticsBroker.java
----------------------------------------------------------------------
diff --git 
a/activemq-broker/src/main/java/org/apache/activemq/plugin/StatisticsBroker.java
 
b/activemq-broker/src/main/java/org/apache/activemq/plugin/StatisticsBroker.java
index 9eabd4f..fdffa02 100644
--- 
a/activemq-broker/src/main/java/org/apache/activemq/plugin/StatisticsBroker.java
+++ 
b/activemq-broker/src/main/java/org/apache/activemq/plugin/StatisticsBroker.java
@@ -97,6 +97,9 @@ public class StatisticsBroker extends BrokerFilter {
             RegionBroker regionBroker = (RegionBroker) 
brokerService.getRegionBroker();
             if (destStats) {
                 String destinationName = 
physicalName.substring(STATS_DESTINATION_PREFIX.length(), 
physicalName.length());
+                if (destinationName.startsWith(".")) {
+                    destinationName = destinationName.substring(1);
+                }
                 String destinationQuery = 
destinationName.replace(STATS_DENOTE_END_LIST,"");
                 boolean endListMessage = 
!destinationName.equals(destinationQuery);
                 ActiveMQDestination queryDestination = 
ActiveMQDestination.createDestination(destinationQuery,msgDest.getDestinationType());

http://git-wip-us.apache.org/repos/asf/activemq/blob/4eb5097f/activemq-unit-tests/src/test/java/org/apache/activemq/plugin/BrokerStatisticsPluginTest.java
----------------------------------------------------------------------
diff --git 
a/activemq-unit-tests/src/test/java/org/apache/activemq/plugin/BrokerStatisticsPluginTest.java
 
b/activemq-unit-tests/src/test/java/org/apache/activemq/plugin/BrokerStatisticsPluginTest.java
index f99953a..b2e4bdd 100644
--- 
a/activemq-unit-tests/src/test/java/org/apache/activemq/plugin/BrokerStatisticsPluginTest.java
+++ 
b/activemq-unit-tests/src/test/java/org/apache/activemq/plugin/BrokerStatisticsPluginTest.java
@@ -112,7 +112,33 @@ public class BrokerStatisticsPluginTest extends TestCase{
 
         msg.setJMSReplyTo(replyTo);
         producer.send(query,msg);
-        MapMessage reply = (MapMessage) consumer.receive();
+        MapMessage reply = (MapMessage) consumer.receive(10 * 1000);
+        assertNotNull(reply);
+        assertTrue(reply.getMapNames().hasMoreElements());
+        assertTrue(reply.getJMSTimestamp() > 0);
+        assertEquals(Message.DEFAULT_PRIORITY, reply.getJMSPriority());
+        /*
+        for (Enumeration e = reply.getMapNames();e.hasMoreElements();) {
+            String name = e.nextElement().toString();
+            System.err.println(name+"="+reply.getObject(name));
+        }
+        */
+    }
+
+    public void testDestinationStatsWithDot() throws Exception{
+        Session session = connection.createSession(false, 
Session.AUTO_ACKNOWLEDGE);
+        Queue replyTo = session.createTemporaryQueue();
+        MessageConsumer consumer = session.createConsumer(replyTo);
+        Queue testQueue = session.createQueue("Test.Queue");
+        MessageProducer producer = session.createProducer(null);
+        Queue query = 
session.createQueue(StatisticsBroker.STATS_DESTINATION_PREFIX + "." + 
testQueue.getQueueName());
+        Message msg = session.createMessage();
+
+        producer.send(testQueue,msg);
+
+        msg.setJMSReplyTo(replyTo);
+        producer.send(query,msg);
+        MapMessage reply = (MapMessage) consumer.receive(10 * 1000);
         assertNotNull(reply);
         assertTrue(reply.getMapNames().hasMoreElements());
         assertTrue(reply.getJMSTimestamp() > 0);
@@ -140,7 +166,7 @@ public class BrokerStatisticsPluginTest extends TestCase{
 
         msg.setJMSReplyTo(replyTo);
         producer.send(query,msg);
-        MapMessage reply = (MapMessage) consumer.receive();
+        MapMessage reply = (MapMessage) consumer.receive(10 * 1000);
         assertNotNull(reply);
         assertTrue(reply.getMapNames().hasMoreElements());
         assertTrue(reply.getJMSTimestamp() > 0);

Reply via email to