From 5dd593582a0d39ac2334a3690ed7d82dae2dc8ec Mon Sep 17 00:00:00 2001 From: Fraser Adams Date: Sun, 6 Jul 2014 13:53:23 +0000 Subject: QPID-5820: added better fix to the problem of arguments not being set. The real issue turned out to be that the create method on BindingImpl was being called by AbstractExchange after it called addBinding, but the addBinding method is the one that results in the QMF Binding instance being created. In other words the QMF Binding instance was getting constructed before the resolveAutomatedAttribute stuff git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1608201 13f79535-47bb-0310-9956-ffa450edef68 --- .../src/main/java/org/apache/qpid/server/binding/BindingImpl.java | 2 -- .../main/java/org/apache/qpid/server/exchange/AbstractExchange.java | 4 +--- 2 files changed, 1 insertion(+), 5 deletions(-) (limited to 'qpid/java') diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java index 2115ac9ba0..8eb0b4feb0 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/binding/BindingImpl.java @@ -70,8 +70,6 @@ public class BindingImpl _bindingKey = getName(); _queue = queue; _exchange = exchange; - - setArguments((Map)getActualAttributes().get(ARGUMENTS)); } @Override diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java index 95efc4295c..58ffd88b85 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java @@ -696,11 +696,9 @@ public abstract class AbstractExchange> attributes.put(Binding.ARGUMENTS, arguments); BindingImpl b = new BindingImpl(attributes, queue, this); + b.create(); // Must be called before addBinding as it resolves automated attributes. addBinding(b); - b.create(); - - return true; } else if(force) -- cgit v1.2.1