summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2014-08-26 15:18:40 +0000
committerRobert Godfrey <rgodfrey@apache.org>2014-08-26 15:18:40 +0000
commitd1bd92b4f13c7f146ed93534e5685b58632fbaf8 (patch)
tree43414e47ed10fb4e22fdf1d7ca4d66eaa0645668 /qpid/java
parenteb188ecb147e72b9bbc47f49d1d80fb8ac70f818 (diff)
downloadqpid-python-d1bd92b4f13c7f146ed93534e5685b58632fbaf8.tar.gz
QPID-6046 : [Java Broker] [AMQP 1.0] when creating an outgoing link from the address amq.fanout (or any fanout exchange) bind the temporary queue to the exchange witht the queue name
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1620629 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
-rw-r--r--qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java b/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java
index def75527f3..660575e364 100644
--- a/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java
+++ b/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java
@@ -323,6 +323,19 @@ public class SendingLink_1_0 implements SendingLinkListener, Link_1_0, DeliveryS
{
exchange.addBinding(exchangeDestination.getInitialRoutingAddress(),queue,null);
}
+ if(binding == null
+ && exchangeDestination.getInitialRoutingAddress() != null
+ && exchange.getType().equals(ExchangeDefaults.FANOUT_EXCHANGE_CLASS))
+ {
+ exchange.addBinding(queue.getName(), queue, null);
+ }
+ else if(binding == null
+ && exchangeDestination.getInitialRoutingAddress() != null
+ && exchange.getType().equals(ExchangeDefaults.TOPIC_EXCHANGE_CLASS))
+ {
+ exchange.addBinding("#", queue, null);
+ }
+
source.setDistributionMode(StdDistMode.COPY);
qd = new QueueDestination(queue);