summaryrefslogtreecommitdiff
path: root/java/broker/src
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2009-07-22 13:09:44 +0000
committerRobert Gemmell <robbie@apache.org>2009-07-22 13:09:44 +0000
commite9cc17f9cf25c918b05c5b433360c66526a8d394 (patch)
treec1a8f1bbab50023043ff913fdbede2b9927042f9 /java/broker/src
parent6a37d090c2a315e5dadb1c32632a1e63271a733c (diff)
downloadqpid-python-e9cc17f9cf25c918b05c5b433360c66526a8d394.tar.gz
QPID-1967: collect possible Exchange Type values from the broker instead of relying on default set within the management console
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@796693 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/broker/src')
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/AMQBrokerManagerMBean.java20
1 files changed, 20 insertions, 0 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 e29c2b52b7..d7583d9c59 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
@@ -37,6 +37,9 @@
*/
package org.apache.qpid.server;
+import java.io.IOException;
+import java.util.ArrayList;
+
import javax.management.JMException;
import javax.management.MBeanException;
import javax.management.MalformedObjectNameException;
@@ -50,6 +53,7 @@ import org.apache.qpid.management.common.mbeans.annotations.MBeanDescription;
import org.apache.qpid.server.exchange.Exchange;
import org.apache.qpid.server.exchange.ExchangeFactory;
import org.apache.qpid.server.exchange.ExchangeRegistry;
+import org.apache.qpid.server.exchange.ExchangeType;
import org.apache.qpid.server.management.AMQManagedObject;
import org.apache.qpid.server.management.ManagedObject;
import org.apache.qpid.server.queue.AMQQueue;
@@ -92,6 +96,22 @@ public class AMQBrokerManagerMBean extends AMQManagedObject implements ManagedBr
}
/**
+ * Returns an array of the exchange types available for creation.
+ * @since Qpid JMX API 1.3
+ * @throws IOException
+ */
+ public String[] getExchangeTypes() throws IOException
+ {
+ ArrayList<String> exchangeTypes = new ArrayList<String>();
+ for(ExchangeType<? extends Exchange> ex : _exchangeFactory.getRegisteredTypes())
+ {
+ exchangeTypes.add(ex.getName().toString());
+ }
+
+ return exchangeTypes.toArray(new String[0]);
+ }
+
+ /**
* Creates new exchange and registers it with the registry.
*
* @param exchangeName