summaryrefslogtreecommitdiff
path: root/qpid/java/broker/src/main
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
commitd139781cb32f784696056f4f00efba09f4da9c6b (patch)
tree9ea2a01b15cc5117b90718cb6eb9af4ff2135254 /qpid/java/broker/src/main
parent888d59cee82f47404ca850bf8970712debeaaea1 (diff)
downloadqpid-python-d139781cb32f784696056f4f00efba09f4da9c6b.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@796693 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker/src/main')
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/AMQBrokerManagerMBean.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQBrokerManagerMBean.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQBrokerManagerMBean.java
index e29c2b52b7..d7583d9c59 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQBrokerManagerMBean.java
+++ b/qpid/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