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 2015/12/25 10:55:26 UTC

camel git commit: CAMEL-9406: camel-rabbitmq doing InOut should set the reply message as OUT messaage which is what JMS component does.

Repository: camel
Updated Branches:
  refs/heads/master ae6ea2283 -> 42c2ded08


CAMEL-9406: camel-rabbitmq doing InOut should set the reply message as OUT messaage which is what JMS component does.


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

Branch: refs/heads/master
Commit: 42c2ded08e3246e83711d02b8cc7ad96d5a0134b
Parents: ae6ea22
Author: Claus Ibsen <da...@apache.org>
Authored: Fri Dec 25 10:54:59 2015 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Fri Dec 25 10:54:59 2015 +0100

----------------------------------------------------------------------
 .../component/rabbitmq/RabbitMQEndpoint.java    | 21 ++++++++++++--------
 .../rabbitmq/reply/ReplyManagerSupport.java     |  5 +----
 2 files changed, 14 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/42c2ded0/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQEndpoint.java b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQEndpoint.java
index 67b04b7..8475562 100644
--- a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQEndpoint.java
+++ b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQEndpoint.java
@@ -185,7 +185,7 @@ public class RabbitMQEndpoint extends DefaultEndpoint {
 
     public Exchange createRabbitExchange(Envelope envelope, AMQP.BasicProperties properties, byte[] body) {
         Exchange exchange = super.createExchange();
-        setRabbitExchange(exchange, envelope, properties, body);
+        setRabbitExchange(exchange, envelope, properties, body, false);
         return exchange;
     }
 
@@ -196,14 +196,19 @@ public class RabbitMQEndpoint extends DefaultEndpoint {
         return messageConverter;
     }
 
-    public void setRabbitExchange(Exchange camelExchange, Envelope envelope, AMQP.BasicProperties properties, byte[] body) {
+    public void setRabbitExchange(Exchange camelExchange, Envelope envelope, AMQP.BasicProperties properties, byte[] body, boolean out) {
         Message message;
-        if (camelExchange.getIn() != null) {
-            // Use the existing message so we keep the headers
-            message = camelExchange.getIn();
-        } else {
-            message = new DefaultMessage();
-            camelExchange.setIn(message);
+        if (out) {
+            // use OUT message
+            message = camelExchange.getOut();
+        }  else {
+            if (camelExchange.getIn() != null) {
+                // Use the existing message so we keep the headers
+                message = camelExchange.getIn();
+            } else {
+                message = new DefaultMessage();
+                camelExchange.setIn(message);
+            }
         }
 
         if (envelope != null) {

http://git-wip-us.apache.org/repos/asf/camel/blob/42c2ded0/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/reply/ReplyManagerSupport.java
----------------------------------------------------------------------
diff --git a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/reply/ReplyManagerSupport.java b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/reply/ReplyManagerSupport.java
index f4f4711..52ccc90 100644
--- a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/reply/ReplyManagerSupport.java
+++ b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/reply/ReplyManagerSupport.java
@@ -123,7 +123,6 @@ public abstract class ReplyManagerSupport extends ServiceSupport implements Repl
     }
 
     public void processReply(ReplyHolder holder) {
-        log.info("in processReply");
         if (holder != null && isRunAllowed()) {
             try {
                 Exchange exchange = holder.getExchange();
@@ -141,8 +140,7 @@ public abstract class ReplyManagerSupport extends ServiceSupport implements Repl
                     String msg = "reply message with correlationID: " + holder.getCorrelationId() + " not received on destination: " + replyTo;
                     exchange.setException(new ExchangeTimedOutException(exchange, holder.getRequestTimeout(), msg));
                 } else {
-                    
-                    endpoint.setRabbitExchange(exchange, null, holder.getProperties(), holder.getMessage());
+                    endpoint.setRabbitExchange(exchange, null, holder.getProperties(), holder.getMessage(), true);
 
                     // restore correlation id in case the remote server messed with it
                     if (holder.getOriginalCorrelationId() != null) {
@@ -224,7 +222,6 @@ public abstract class ReplyManagerSupport extends ServiceSupport implements Repl
         listenerContainer = createListenerContainer();
         
         log.debug("Using executor {}", executorService);
-        
     }
 
     @Override