You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2016/07/19 21:26:53 UTC
activemq git commit: https://issues.apache.org/jira/browse/AMQ-6273
Repository: activemq
Updated Branches:
refs/heads/master 39184e2fb -> e05db7cb5
https://issues.apache.org/jira/browse/AMQ-6273
increment the connect attempt count explicitly to ensure reconnect
policy options are applied.
Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/e05db7cb
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/e05db7cb
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/e05db7cb
Branch: refs/heads/master
Commit: e05db7cb5c82660d83e913fa6df77a9e23d0eb8f
Parents: 39184e2
Author: Timothy Bish <ta...@gmail.com>
Authored: Tue Jul 19 17:26:24 2016 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Tue Jul 19 17:26:24 2016 -0400
----------------------------------------------------------------------
.../java/org/apache/activemq/network/jms/JmsConnector.java | 8 ++++++--
.../org/apache/activemq/network/jms/ReconnectionPolicy.java | 2 +-
2 files changed, 7 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq/blob/e05db7cb/activemq-broker/src/main/java/org/apache/activemq/network/jms/JmsConnector.java
----------------------------------------------------------------------
diff --git a/activemq-broker/src/main/java/org/apache/activemq/network/jms/JmsConnector.java b/activemq-broker/src/main/java/org/apache/activemq/network/jms/JmsConnector.java
index 73759d1..6cb223a 100755
--- a/activemq-broker/src/main/java/org/apache/activemq/network/jms/JmsConnector.java
+++ b/activemq-broker/src/main/java/org/apache/activemq/network/jms/JmsConnector.java
@@ -593,7 +593,9 @@ public abstract class JmsConnector implements Service {
do {
if (attempt > 0) {
try {
- Thread.sleep(policy.getNextDelay(attempt));
+ long nextDelay = policy.getNextDelay(attempt);
+ LOG.debug("Bridge reconnect attempt {} waiting {}ms before next attempt.", attempt, nextDelay);
+ Thread.sleep(nextDelay);
} catch(InterruptedException e) {
}
}
@@ -625,9 +627,11 @@ public abstract class JmsConnector implements Service {
return;
} catch(Exception e) {
LOG.debug("Failed to establish initial {} connection for JmsConnector [{}]", new Object[]{ (local ? "local" : "foreign"), attempt }, e);
+ } finally {
+ attempt++;
}
}
- while ((maxRetries == INFINITE || maxRetries > ++attempt) && !connectionService.isShutdown());
+ while ((maxRetries == INFINITE || maxRetries > attempt) && !connectionService.isShutdown());
this.failed.set(true);
}
http://git-wip-us.apache.org/repos/asf/activemq/blob/e05db7cb/activemq-broker/src/main/java/org/apache/activemq/network/jms/ReconnectionPolicy.java
----------------------------------------------------------------------
diff --git a/activemq-broker/src/main/java/org/apache/activemq/network/jms/ReconnectionPolicy.java b/activemq-broker/src/main/java/org/apache/activemq/network/jms/ReconnectionPolicy.java
index 061ba2a..c152004 100644
--- a/activemq-broker/src/main/java/org/apache/activemq/network/jms/ReconnectionPolicy.java
+++ b/activemq-broker/src/main/java/org/apache/activemq/network/jms/ReconnectionPolicy.java
@@ -234,7 +234,7 @@ public class ReconnectionPolicy {
long nextDelay = initialReconnectDelay;
if (useExponentialBackOff) {
- nextDelay = nextDelay * (long)(attempt * backOffMultiplier);
+ nextDelay = Math.max(initialReconnectDelay, nextDelay * (long)((attempt - 1) * backOffMultiplier));
}
if (maximumReconnectDelay > 0 && nextDelay > maximumReconnectDelay) {