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() {