Author: robbie
Date: Fri Jul 24 14:21:06 2009
New Revision: 797473

URL: http://svn.apache.org/viewvc?rev=797473&view=rev
Log:
QPID-2000: add a method to the VirtualHostManager MBean to retrieve a Map keyed 
by Queue names in the vhost, with values indicating their respective depths in 
bytes

Modified:
    
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQBrokerManagerMBean.java
    
qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java

Modified: 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQBrokerManagerMBean.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQBrokerManagerMBean.java?rev=797473&r1=797472&r2=797473&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQBrokerManagerMBean.java
 (original)
+++ 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQBrokerManagerMBean.java
 Fri Jul 24 14:21:06 2009
@@ -39,6 +39,8 @@
 
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
 
 import javax.management.JMException;
 import javax.management.MBeanException;
@@ -75,7 +77,7 @@
     private final MessageStore _messageStore;
 
     private final VirtualHost.VirtualHostMBean _virtualHostMBean;
-
+    
     @MBeanConstructor("Creates the Broker Manager MBean")
     public AMQBrokerManagerMBean(VirtualHost.VirtualHostMBean 
virtualHostMBean) throws JMException
     {
@@ -112,6 +114,29 @@
     }
     
     /**
+     * Returns a Map keyed by QueueName, detailing its associated QueueDepth 
in bytes.
+     * @since Qpid JMX API 1.3
+     * @throws IOException
+     */
+    public Map<String,Long> viewQueueNamesDepths() throws IOException
+    {
+        Map<String,Long> queueDepthMap = new 
HashMap<String,Long>(_queueRegistry.getQueues().size());
+        
+        String queueName;
+        Long queueDepth;
+
+        for(AMQQueue queue : _queueRegistry.getQueues())
+        {
+            queueName = queue.getName().toString();
+            queueDepth = queue.getQueueDepth();
+            
+            queueDepthMap.put(queueName,queueDepth);
+        }
+
+        return queueDepthMap;
+    }
+    
+    /**
      * Creates new exchange and registers it with the registry.
      *
      * @param exchangeName

Modified: 
qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java?rev=797473&r1=797472&r2=797473&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java
 (original)
+++ 
qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java
 Fri Jul 24 14:21:06 2009
@@ -22,9 +22,12 @@
 package org.apache.qpid.management.common.mbeans;
 
 import java.io.IOException;
+import java.util.Map;
 
 import javax.management.JMException;
 import javax.management.MBeanOperationInfo;
+import javax.management.openmbean.OpenDataException;
+import javax.management.openmbean.TabularData;
 
 import org.apache.qpid.management.common.mbeans.annotations.MBeanAttribute;
 import org.apache.qpid.management.common.mbeans.annotations.MBeanOperation;
@@ -52,6 +55,15 @@
     String[] getExchangeTypes() throws IOException;
     
     /**
+     * Returns a Map keyed by QueueName, detailing its associated QueueDepth 
in bytes.
+     * @since Qpid JMX API 1.3
+     * @throws IOException
+     */
+    @MBeanOperation(name = "viewQueueNamesDepths", description = "View the 
queue names and depths in this virtualhost", 
+                    impact = MBeanOperationInfo.INFO)
+    Map<String,Long> viewQueueNamesDepths() throws IOException;
+    
+    /**
      * Creates a new Exchange.
      * @param name
      * @param type



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to