summaryrefslogtreecommitdiff
path: root/java/broker/src
diff options
context:
space:
mode:
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