diff options
| author | Robert Gemmell <robbie@apache.org> | 2009-07-22 13:09:44 +0000 |
|---|---|---|
| committer | Robert Gemmell <robbie@apache.org> | 2009-07-22 13:09:44 +0000 |
| commit | d139781cb32f784696056f4f00efba09f4da9c6b (patch) | |
| tree | 9ea2a01b15cc5117b90718cb6eb9af4ff2135254 /qpid/java/broker/src/main | |
| parent | 888d59cee82f47404ca850bf8970712debeaaea1 (diff) | |
| download | qpid-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.java | 20 |
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 |
