diff options
| author | Alex Rudyy <orudyy@apache.org> | 2013-06-06 23:12:19 +0000 |
|---|---|---|
| committer | Alex Rudyy <orudyy@apache.org> | 2013-06-06 23:12:19 +0000 |
| commit | cb03df252c59e38f20d4609094774115d50b83f1 (patch) | |
| tree | 3e631b3879d329c2811e7b08ea2b6aa2e6892666 /qpid/java/broker-plugins | |
| parent | af92a2fd6cecf4eb08cc6762af83c8d267a8539f (diff) | |
| download | qpid-python-cb03df252c59e38f20d4609094774115d50b83f1.tar.gz | |
QPID-4912: Allow setting queue binding arguments in exchange MBean
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1490468 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker-plugins')
2 files changed, 21 insertions, 18 deletions
diff --git a/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/ExchangeMBean.java b/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/ExchangeMBean.java index 56802d0403..3e1a47c431 100644 --- a/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/ExchangeMBean.java +++ b/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/ExchangeMBean.java @@ -261,8 +261,15 @@ public class ExchangeMBean extends AMQManagedObject implements ManagedExchange { final Map<String,Object> arguments = new HashMap<String, Object>(); + createNewBinding(queueName, binding, arguments); + } + + @Override + public void createNewBinding(String queueName, String binding, Map<String, Object> arguments) throws JMException + { if(HEADERS_EXCHANGE_TYPE.equals(_exchange.getExchangeType())) { + arguments = new HashMap<String, Object>(arguments); final String[] bindings = binding.split(","); for (int i = 0; i < bindings.length; i++) { diff --git a/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/mbeans/ExchangeMBeanTest.java b/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/mbeans/ExchangeMBeanTest.java index e350f80a25..e2b4567867 100644 --- a/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/mbeans/ExchangeMBeanTest.java +++ b/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/mbeans/ExchangeMBeanTest.java @@ -18,40 +18,29 @@ */ package org.apache.qpid.server.jmx.mbeans; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.never; -import static org.mockito.Matchers.isNull; -import static org.mockito.Matchers.argThat; import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyString; import static org.mockito.Matchers.anyMap; - +import static org.mockito.Matchers.anyString; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.Map; -import java.util.TreeMap; import javax.management.JMException; -import javax.management.ListenerNotFoundException; -import javax.management.Notification; -import javax.management.NotificationListener; import javax.management.OperationsException; +import junit.framework.TestCase; + import org.apache.qpid.server.jmx.ManagedObjectRegistry; import org.apache.qpid.server.model.Binding; import org.apache.qpid.server.model.Exchange; -import org.apache.qpid.server.model.LifetimePolicy; import org.apache.qpid.server.model.Queue; -import org.apache.qpid.server.model.Statistics; import org.apache.qpid.server.model.VirtualHost; -import org.apache.qpid.server.queue.NotificationCheck; -import org.mockito.ArgumentMatcher; - -import junit.framework.TestCase; public class ExchangeMBeanTest extends TestCase { @@ -126,6 +115,13 @@ public class ExchangeMBeanTest extends TestCase verify(_mockExchange, never()).createBinding(anyString(), any(Queue.class), anyMap(), anyMap()); } + public void testCreateNewBindingWithArguments() throws Exception + { + Map<String, Object> arguments = Collections.<String, Object>singletonMap("x-filter-jms-selector", "ID='test'"); + _exchangeMBean.createNewBinding(QUEUE1_NAME, BINDING1, arguments); + verify(_mockExchange).createBinding(BINDING1, _mockQueue1, arguments, Collections.<String, Object>emptyMap()); + } + public void testRemoveBinding() throws Exception { Binding mockBinding1 = createBindingOnQueue(BINDING1, _mockQueue1); |
