summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/AMQBrokerManagerMBean.java27
-rw-r--r--java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java12
2 files changed, 38 insertions, 1 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/AMQBrokerManagerMBean.java b/java/broker/src/main/java/org/apache/qpid/server/AMQBrokerManagerMBean.java
index d7583d9c59..306dce1057 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/AMQBrokerManagerMBean.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/AMQBrokerManagerMBean.java
@@ -39,6 +39,8 @@ package org.apache.qpid.server;
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 @@ public class AMQBrokerManagerMBean extends AMQManagedObject implements ManagedBr
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 @@ public class AMQBrokerManagerMBean extends AMQManagedObject implements ManagedBr
}
/**
+ * 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
diff --git a/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java b/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java
index 224bf8de2c..e376033bad 100644
--- a/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java
+++ b/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java
@@ -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 @@ public interface ManagedBroker
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