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,

Reply via email to