You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2017/03/22 20:42:59 UTC

[3/7] camel git commit: Use default ("") exchange for reply-to messages

Use default ("") exchange for reply-to messages

According to https://www.rabbitmq.com/direct-reply-to.html
"The RPC server will then see a reply-to property with a generated name. It should publish to the default exchange ("") with the routing key set to this value".

This will fix sending correct replies to consumers like this:
from("rabbitmq://localhost:5672/testexch?routingKey=test")
                .transform(body().append(" Pong!"));

I'm sending request-reply with:
Object resObj = rabbitTemplate.convertSendAndReceive("testexch", "test", "Ping!");

And without this fix applied I'm not getting any reply.

Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/072f2739
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/072f2739
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/072f2739

Branch: refs/heads/master
Commit: 072f273999d57ecae8146b32cbbfa7ac1776a3a5
Parents: 77678ce
Author: hauler <rk...@gmail.com>
Authored: Thu Mar 16 17:03:40 2017 +0300
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Mar 22 21:31:28 2017 +0100

----------------------------------------------------------------------
 .../apache/camel/component/rabbitmq/RabbitMQMessagePublisher.java | 3 +++
 1 file changed, 3 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/072f2739/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQMessagePublisher.java
----------------------------------------------------------------------
diff --git a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQMessagePublisher.java b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQMessagePublisher.java
index bde0430..c7fee3c 100644
--- a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQMessagePublisher.java
+++ b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQMessagePublisher.java
@@ -70,6 +70,9 @@ public class RabbitMQMessagePublisher {
             LOG.debug("Removing the {} header", RabbitMQEndpoint.SERIALIZE_HEADER);
             message.getHeaders().remove(RabbitMQEndpoint.SERIALIZE_HEADER);
         }
+        if (routingKey.startsWith("amq.rabbitmq.reply-to")) {
+            message.setHeader(RabbitMQConstants.EXCHANGE_NAME, ""); // use default exchange for reply-to messages
+        }
 
         return message;
     }