From d9686822dcc5125b0d7e7a4f9320f8b10af6e562 Mon Sep 17 00:00:00 2001 From: Ian Roberts Date: Wed, 17 Jul 2019 20:45:26 +0100 Subject: [PATCH] Sleep for failed declaration out of warn block * Respect `failedDeclarationRetryInterval` even when logging is not enabled. **Cherry-pick to 2.1.x, 2.0.x & 1.7.x** # Conflicts: # spring-rabbit/src/main/java/org/springframework/amqp/rabbit/listener/BlockingQueueConsumer.java --- .../listener/BlockingQueueConsumer.java | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/listener/BlockingQueueConsumer.java b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/listener/BlockingQueueConsumer.java index 8e46004f..46361590 100644 --- a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/listener/BlockingQueueConsumer.java +++ b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/listener/BlockingQueueConsumer.java @@ -80,6 +80,7 @@ import com.rabbitmq.utility.Utility; * @author Artem Bilan * @author Alex Panchenko * @author Johno Crawford + * @author Ian Roberts */ public class BlockingQueueConsumer { @@ -603,15 +604,15 @@ public class BlockingQueueConsumer { if (passiveDeclareRetries > 0 && this.channel.isOpen()) { if (logger.isWarnEnabled()) { logger.warn("Queue declaration failed; retries left=" + (passiveDeclareRetries), e); - try { - Thread.sleep(this.failedDeclarationRetryInterval); - } - catch (InterruptedException e1) { - this.declaring = false; - Thread.currentThread().interrupt(); - this.activeObjectCounter.release(this); - throw RabbitExceptionTranslator.convertRabbitAccessException(e1); - } + } + try { + Thread.sleep(this.failedDeclarationRetryInterval); + } + catch (InterruptedException e1) { + this.declaring = false; + Thread.currentThread().interrupt(); + this.activeObjectCounter.release(this); + throw RabbitExceptionTranslator.convertRabbitAccessException(e1); } } else if (e.getFailedQueues().size() < this.queues.length) {