Updated Branches: refs/heads/master fc3c56263 -> e1be27def
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/e1be27de Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/e1be27de Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/e1be27de Branch: refs/heads/master Commit: e1be27defce04e3e73319ee6d521920d7cb1c71d Parents: fc3c562 Author: Willem Jiang <[email protected]> Authored: Tue Nov 12 11:24:47 2013 +0800 Committer: Willem Jiang <[email protected]> Committed: Tue Nov 12 13:47:10 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/e1be27de/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/e1be27de/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,
