summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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..2cfe431979 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);