CAMEL-10296: fix checkstyle issues and make varible basicReturnReceived volatile


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

Branch: refs/heads/master
Commit: fbca40a6d048870031509066b90105548936a0c9
Parents: 0ce6444
Author: Florian Gessner <florian.gess...@tis.biz>
Authored: Thu Sep 8 09:02:32 2016 +0200
Committer: Andrea Cosentino <anco...@gmail.com>
Committed: Thu Sep 8 09:36:32 2016 +0200

----------------------------------------------------------------------
 .../rabbitmq/RabbitMQMessagePublisher.java      | 30 +++++++++-----------
 1 file changed, 14 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/fbca40a6/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQMessagePublisher.java
----------------------------------------------------------------------
diff --git 
a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQMessagePublisher.java
 
b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQMessagePublisher.java
index 248df21..bde0430 100644
--- 
a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQMessagePublisher.java
+++ 
b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQMessagePublisher.java
@@ -26,6 +26,7 @@ import java.util.concurrent.TimeoutException;
 import com.rabbitmq.client.AMQP;
 import com.rabbitmq.client.Channel;
 import com.rabbitmq.client.ReturnListener;
+
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.NoTypeConversionAvailableException;
@@ -38,22 +39,20 @@ import org.slf4j.LoggerFactory;
  * A method object for publishing to RabbitMQ
  */
 public class RabbitMQMessagePublisher {
-    private final ReturnListener GUARANTEED_DELIVERY_RETURN_LISTENER = new 
ReturnListener() {
-        @Override
-        public void handleReturn(int replyCode, String replyText, String 
exchange, String routingKey, AMQP.BasicProperties properties, byte[] body) 
throws IOException {
-            LOG.warn("Delivery failed for exchange {} and routing key {}; 
replyCode = {}; replyText = {}", exchange, routingKey, replyCode, replyText);
-            basicReturnReceived = true;
-        }
-    };
-
     private static final Logger LOG = 
LoggerFactory.getLogger(RabbitMQMessagePublisher.class);
     private final Exchange camelExchange;
     private final Channel channel;
     private final String routingKey;
     private final RabbitMQEndpoint endpoint;
     private final Message message;
-    
-    private boolean basicReturnReceived = false;
+    private volatile boolean basicReturnReceived;
+    private final ReturnListener guaranteedDeliveryReturnListener = new 
ReturnListener() {
+        @Override
+        public void handleReturn(int replyCode, String replyText, String 
exchange, String routingKey, AMQP.BasicProperties properties, byte[] body) 
throws IOException {
+            LOG.warn("Delivery failed for exchange {} and routing key {}; 
replyCode = {}; replyText = {}", exchange, routingKey, replyCode, replyText);
+            basicReturnReceived = true;
+        }
+    };
 
     public RabbitMQMessagePublisher(final Exchange camelExchange, final 
Channel channel, final String routingKey, final RabbitMQEndpoint endpoint) {
         this.camelExchange = camelExchange;
@@ -113,9 +112,8 @@ public class RabbitMQMessagePublisher {
             channel.confirmSelect();
         }
         if (endpoint.isGuaranteedDeliveries()) {
-               basicReturnReceived = false;
-            channel.addReturnListener(GUARANTEED_DELIVERY_RETURN_LISTENER);
-
+            basicReturnReceived = false;
+            channel.addReturnListener(guaranteedDeliveryReturnListener);
         }
 
         try {
@@ -125,7 +123,7 @@ public class RabbitMQMessagePublisher {
             }
         } finally {
             if (endpoint.isGuaranteedDeliveries()) {
-                
channel.removeReturnListener(GUARANTEED_DELIVERY_RETURN_LISTENER);
+                channel.removeReturnListener(guaranteedDeliveryReturnListener);
             }
         }
     }
@@ -138,8 +136,8 @@ public class RabbitMQMessagePublisher {
         try {
             LOG.debug("Waiting for publisher acknowledgements for {}ms", 
endpoint.getPublisherAcknowledgementsTimeout());
             
channel.waitForConfirmsOrDie(endpoint.getPublisherAcknowledgementsTimeout());
-            if(basicReturnReceived){
-               throw new RuntimeCamelException("Failed to deliver message; 
basic.return received");
+            if (basicReturnReceived) {
+                throw new RuntimeCamelException("Failed to deliver message; 
basic.return received");
             }
         } catch (InterruptedException | TimeoutException e) {
             LOG.warn("Acknowledgement error for {}", camelExchange);

Reply via email to