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