summaryrefslogtreecommitdiff
path: root/qpid/java/broker-plugins
diff options
context:
space:
mode:
authorAlex Rudyy <orudyy@apache.org>2013-07-17 16:11:09 +0000
committerAlex Rudyy <orudyy@apache.org>2013-07-17 16:11:09 +0000
commitc92ff11e0ff110541016f44e9bf882dd40911f76 (patch)
tree8fd0e8fe4933706e9e366ca9bc190b01496704d5 /qpid/java/broker-plugins
parentf267c580488c9a1f46be65cd4b1d298563dcb3c6 (diff)
downloadqpid-python-c92ff11e0ff110541016f44e9bf882dd40911f76.tar.gz
QPID-4996: Restrict queue rebinding on 0.8/0-9.x path to the topic exchanges only
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1504187 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker-plugins')
-rw-r--r--qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueBindHandler.java3
1 files changed, 2 insertions, 1 deletions
diff --git a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueBindHandler.java b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueBindHandler.java
index 0eed82b9de..a8e4e38422 100644
--- a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueBindHandler.java
+++ b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueBindHandler.java
@@ -23,6 +23,7 @@ package org.apache.qpid.server.protocol.v0_8.handler;
import org.apache.log4j.Logger;
import org.apache.qpid.AMQException;
+import org.apache.qpid.exchange.ExchangeDefaults;
import org.apache.qpid.framing.AMQMethodBody;
import org.apache.qpid.framing.AMQShortString;
import org.apache.qpid.framing.FieldTable;
@@ -126,7 +127,7 @@ public class QueueBindHandler implements StateAwareMethodListener<QueueBindBody>
String bindingKey = String.valueOf(routingKey);
Map<String,Object> arguments = FieldTable.convertToMap(body.getArguments());
- if(!exch.addBinding(bindingKey, queue, arguments))
+ if(!exch.addBinding(bindingKey, queue, arguments) && ExchangeDefaults.TOPIC_EXCHANGE_CLASS.equals(exch.getTypeShortString()))
{
Binding oldBinding = exch.getBinding(bindingKey, queue, arguments);