You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2009/07/24 16:21:07 UTC

svn commit: r797473 - in /qpid/trunk/qpid/java: broker/src/main/java/org/apache/qpid/server/AMQBrokerManagerMBean.java management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java

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:commits-subscribe@qpid.apache.org