Author: rgodfrey
Date: Sun Jun 2 01:31:50 2013
New Revision: 1488638
URL: http://svn.apache.org/r1488638
Log:
QPID-4899 : [Java Broker] Allow setting queue binding arguments in XML config
file
Modified:
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/QueueConfiguration.java
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java
Modified:
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/QueueConfiguration.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/QueueConfiguration.java?rev=1488638&r1=1488637&r2=1488638&view=diff
==============================================================================
---
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/QueueConfiguration.java
(original)
+++
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/QueueConfiguration.java
Sun Jun 2 01:31:50 2013
@@ -23,6 +23,7 @@ package org.apache.qpid.server.configura
import java.util.Collections;
import java.util.Map;
import org.apache.commons.configuration.CompositeConfiguration;
+import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.qpid.exchange.ExchangeDefaults;
@@ -201,4 +202,10 @@ public class QueueConfiguration extends
{
return getMap("argument");
}
+
+ public Map<String,String> getBindingArguments(String routingKey)
+ {
+
+ return getConfig().containsKey(routingKey+".bindingArgument") ?
getMap(routingKey+".bindingArgument") : null;
+ }
}
Modified:
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java?rev=1488638&r1=1488637&r2=1488638&view=diff
==============================================================================
---
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java
(original)
+++
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java
Sun Jun 2 01:31:50 2013
@@ -390,25 +390,26 @@ public class VirtualHostImpl implements
}
else
{
- configureBinding(queue, exchange, routingKey);
+
+ configureBinding(queue, exchange, routingKey, (Map)
queueConfiguration.getBindingArguments(routingKey));
}
}
- if (!exchange.equals(defaultExchange))
+ if (!exchange.equals(defaultExchange) &&
!routingKeys.contains(queueName))
{
//bind the queue to the named exchange using its name
- configureBinding(queue, exchange, queueName);
+ configureBinding(queue, exchange, queueName, null);
}
}
- private void configureBinding(AMQQueue queue, Exchange exchange, String
routingKey) throws AMQException
+ private void configureBinding(AMQQueue queue, Exchange exchange, String
routingKey, Map<String,Object> arguments) throws AMQException
{
if (_logger.isInfoEnabled())
{
_logger.info("Binding queue:" + queue + " with routing key '" +
routingKey + "' to exchange:" + exchange.getName());
}
- exchange.addBinding(routingKey, queue, null);
+ exchange.addBinding(routingKey, queue, arguments);
}
public String getName()
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]