Updated Branches: refs/heads/camel-2.12.x 573a3028a -> 569bc7652
CAMEL-6952 RabbitMQProducer supports RoutingKey option Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/569bc765 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/569bc765 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/569bc765 Branch: refs/heads/camel-2.12.x Commit: 569bc7652db3737076713e19b4ff93a10eec7639 Parents: 573a302 Author: Willem Jiang <[email protected]> Authored: Tue Nov 12 11:24:47 2013 +0800 Committer: Willem Jiang <[email protected]> Committed: Tue Nov 12 13:48:34 2013 +0800 ---------------------------------------------------------------------- .../org/apache/camel/component/rabbitmq/RabbitMQProducer.java | 6 +++++- .../camel/component/rabbitmq/RabbitMQProducerIntTest.java | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/569bc765/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQProducer.java ---------------------------------------------------------------------- diff --git a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQProducer.java b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQProducer.java index 5bf4269..67e3005 100644 --- a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQProducer.java +++ b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQProducer.java @@ -36,7 +36,7 @@ public class RabbitMQProducer extends DefaultProducer { private Connection conn; private Channel channel; private ExecutorService executorService; - + public RabbitMQProducer(RabbitMQEndpoint endpoint) throws IOException { super(endpoint); } @@ -88,6 +88,10 @@ public class RabbitMQProducer extends DefaultProducer { } String key = exchange.getIn().getHeader(RabbitMQConstants.ROUTING_KEY, "", String.class); + // we just need to make sure RoutingKey option take effect + if (key.trim().length() == 0) { + key = getEndpoint().getRoutingKey() == null ? "" : getEndpoint().getRoutingKey(); + } byte[] messageBodyBytes = exchange.getIn().getMandatoryBody(byte[].class); AMQP.BasicProperties.Builder properties = buildProperties(exchange); http://git-wip-us.apache.org/repos/asf/camel/blob/569bc765/components/camel-rabbitmq/src/test/java/org/apache/camel/component/rabbitmq/RabbitMQProducerIntTest.java ---------------------------------------------------------------------- diff --git a/components/camel-rabbitmq/src/test/java/org/apache/camel/component/rabbitmq/RabbitMQProducerIntTest.java b/components/camel-rabbitmq/src/test/java/org/apache/camel/component/rabbitmq/RabbitMQProducerIntTest.java index dbdc419..cf73ea7 100644 --- a/components/camel-rabbitmq/src/test/java/org/apache/camel/component/rabbitmq/RabbitMQProducerIntTest.java +++ b/components/camel-rabbitmq/src/test/java/org/apache/camel/component/rabbitmq/RabbitMQProducerIntTest.java @@ -44,7 +44,7 @@ public class RabbitMQProducerIntTest extends CamelTestSupport { protected ProducerTemplate template; - @EndpointInject(uri = "rabbitmq:localhost:5672/" + EXCHANGE + "?username=cameltest&password=cameltest") + @EndpointInject(uri = "rabbitmq:localhost:5672/" + EXCHANGE + "?routingKey=route1&username=cameltest&password=cameltest") private Endpoint to; @@ -74,7 +74,7 @@ public class RabbitMQProducerIntTest extends CamelTestSupport { Channel channel = conn.createChannel(); channel.queueDeclare("sammyq", false, false, true, null); - channel.queueBind("sammyq", EXCHANGE, ""); + channel.queueBind("sammyq", EXCHANGE, "route1"); channel.basicConsume("sammyq", true, new DefaultConsumer(channel) { @Override public void handleDelivery(String consumerTag,
