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 2009/05/14 10:42:28 UTC
svn commit: r774687 -
/camel/branches/camel-1.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java
Author: davsclaus
Date: Thu May 14 08:42:28 2009
New Revision: 774687
URL: http://svn.apache.org/viewvc?rev=774687&view=rev
Log:
CAMEL-1614:Fixed bug if JMSReplyTo was in headers but null. To avoid WARN logs for InOnly messages with no JMSReplyTo anyway.
Modified:
camel/branches/camel-1.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java
Modified: camel/branches/camel-1.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-1.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java?rev=774687&r1=774686&r2=774687&view=diff
==============================================================================
--- camel/branches/camel-1.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java (original)
+++ camel/branches/camel-1.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java Thu May 14 08:42:28 2009
@@ -224,15 +224,17 @@
exchange.setException(e);
}
} else {
- if (!endpoint.getConfiguration().isPreserveMessageQos() && !endpoint.getConfiguration().isExplicitQosEnabled()
- && exchange.getIn().getHeaders().containsKey("JMSReplyTo")) {
- // we are routing an existing JmsMessage, origin from another JMS endpoint
- // then we need to remove the existing JMSReplyTo, JMSCorrelationID.
- // as we are not out capable and thus do not expect a reply, and therefore
- // the consumer of this message we send should not return a reply
- String to = endpoint.getDestination();
- LOG.warn("Disabling JMSReplyTo as this Exchange is not OUT capable: " + exchange + " with destination: " + to);
- exchange.getIn().setHeader("JMSReplyTo", null);
+ // we must honor these special flags to preverse QoS
+ if (!endpoint.getConfiguration().isPreserveMessageQos() && !endpoint.getConfiguration().isExplicitQosEnabled()) {
+ Object replyTo = exchange.getIn().getHeader("JMSReplyTo");
+ if (replyTo != null) {
+ // we are routing an existing JmsMessage, origin from another JMS endpoint
+ // then we need to remove the existing JMSReplyTo
+ // as we are not out capable and thus do not expect a reply, and therefore
+ // the consumer of this message we send should not return a reply
+ LOG.warn("Disabling JMSReplyTo as this Exchange is not OUT capable with JMSReplyTo: " + replyTo + " for Exchange: " + exchange);
+ exchange.getIn().setHeader("JMSReplyTo", null);
+ }
}
getInOnlyTemplate().send(endpoint.getDestination(), new MessageCreator() {