Author: davsclaus
Date: Thu Jan 20 15:27:20 2011
New Revision: 1061339

URL: http://svn.apache.org/viewvc?rev=1061339&view=rev
Log:
CAMEL-3566: Added option to ignore the WARN logs for InOnly with JMSReplyTo 
provided.

Modified:
    
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java
    
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
    
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java
    
camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteWithInOnlyAndMultipleAcksTest.java

Modified: 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java?rev=1061339&r1=1061338&r2=1061339&view=diff
==============================================================================
--- 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java
 (original)
+++ 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java
 Thu Jan 20 15:27:20 2011
@@ -108,6 +108,7 @@ public class JmsConfiguration implements
     private int transactionTimeout = -1;
     private boolean preserveMessageQos;
     private boolean disableReplyTo;
+    private boolean logWarnWhenReplyToIsDiscarded = true;
     private boolean eagerLoadingOfProperties;
     // Always make a JMS message copy when it's passed to Producer
     private boolean alwaysCopyMessage;
@@ -1089,6 +1090,14 @@ public class JmsConfiguration implements
         this.replyToDestination = normalizeDestinationName(replyToDestination);
     }
 
+    public boolean isLogWarnWhenReplyToIsDiscarded() {
+        return logWarnWhenReplyToIsDiscarded;
+    }
+
+    public void setLogWarnWhenReplyToIsDiscarded(boolean 
logWarnWhenReplyToIsDiscarded) {
+        this.logWarnWhenReplyToIsDiscarded = logWarnWhenReplyToIsDiscarded;
+    }
+
     public String getReplyToDestinationSelectorName() {
         return replyToDestinationSelectorName;
     }

Modified: 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java?rev=1061339&r1=1061338&r2=1061339&view=diff
==============================================================================
--- 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
 (original)
+++ 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
 Thu Jan 20 15:27:20 2011
@@ -495,6 +495,11 @@ public class JmsEndpoint extends Default
     }
 
     @ManagedAttribute
+    public boolean isLogWarnWhenReplyToIsDiscarded() {
+        return getConfiguration().isLogWarnWhenReplyToIsDiscarded();
+    }
+
+    @ManagedAttribute
     public String getReplyToDestinationSelectorName() {
         return getConfiguration().getReplyToDestinationSelectorName();
     }
@@ -787,6 +792,11 @@ public class JmsEndpoint extends Default
     }
 
     @ManagedAttribute
+    public void setLogWarnWhenReplyToIsDiscarded(boolean 
logWarnWhenReplyToIsDiscarded) {
+        
getConfiguration().setLogWarnWhenReplyToIsDiscarded(logWarnWhenReplyToIsDiscarded);
+    }
+
+    @ManagedAttribute
     public void setReplyToDeliveryPersistent(boolean 
replyToDeliveryPersistent) {
         
getConfiguration().setReplyToDeliveryPersistent(replyToDeliveryPersistent);
     }

Modified: 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java?rev=1061339&r1=1061338&r2=1061339&view=diff
==============================================================================
--- 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java
 (original)
+++ 
camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsProducer.java
 Thu Jan 20 15:27:20 2011
@@ -250,8 +250,14 @@ public class JmsProducer extends Default
                 // the consumer of this message should not return a reply so 
we remove it
                 // unless we use preserveMessageQos=true to tell that we still 
want to use JMSReplyTo
                 if (jmsReplyTo != null && !(endpoint.isPreserveMessageQos() || 
endpoint.isExplicitQosEnabled())) {
-                    LOG.warn("Disabling JMSReplyTo: " + jmsReplyTo + " for 
destination: " + to
-                        + ". Use preserveMessageQos=true to force Camel to 
keep the JMSReplyTo on endpoint: " + endpoint);
+                    // log a warn if enabled otherwise a debug level
+                    String msg = "Disabling JMSReplyTo: " + jmsReplyTo + " for 
destination: " + to
+                            + ". Use preserveMessageQos=true to force Camel to 
keep the JMSReplyTo on endpoint: " + endpoint;
+                    if (endpoint.isLogWarnWhenReplyToIsDiscarded()) {
+                        LOG.warn(msg);
+                    } else {
+                        LOG.debug(msg);
+                    }
                     jmsReplyTo = null;
                 }
 

Modified: 
camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteWithInOnlyAndMultipleAcksTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteWithInOnlyAndMultipleAcksTest.java?rev=1061339&r1=1061338&r2=1061339&view=diff
==============================================================================
--- 
camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteWithInOnlyAndMultipleAcksTest.java
 (original)
+++ 
camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteWithInOnlyAndMultipleAcksTest.java
 Thu Jan 20 15:27:20 2011
@@ -78,7 +78,8 @@ public class JmsRouteWithInOnlyAndMultip
                 // the original order request initiator
                 from("amq:queue:inbox")
                     .to("mock:inbox")
-                    .inOnly("amq:topic:orderServiceNotification")
+                    // we dont care about the WARN log so we disable that
+                    
.inOnly("amq:topic:orderServiceNotification?logWarnWhenReplyToIsDiscarded=false")
                     .beanRef("orderService", "handleOrder");
 
                 // this route collects an order request notification


Reply via email to