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 2013/11/13 21:19:25 UTC
git commit: https://issues.apache.org/jira/browse/AMQ-4706
Updated Branches:
refs/heads/trunk 7f639a604 -> c55a66692
https://issues.apache.org/jira/browse/AMQ-4706
add setting warnAfterReconnectAttempts to FailoverTransport to log a
warning after every N retries. A value of <= 0 will disable the
warnings.
Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/c55a6669
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/c55a6669
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/c55a6669
Branch: refs/heads/trunk
Commit: c55a66692126c76b81cfd20c66749e3bf1bb8606
Parents: 7f639a6
Author: Timothy Bish <ta...@gmai.com>
Authored: Wed Nov 13 15:19:16 2013 -0500
Committer: Timothy Bish <ta...@gmai.com>
Committed: Wed Nov 13 15:19:16 2013 -0500
----------------------------------------------------------------------
.../transport/failover/FailoverTransport.java | 40 +++++++++++++++++++-
1 file changed, 38 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq/blob/c55a6669/activemq-client/src/main/java/org/apache/activemq/transport/failover/FailoverTransport.java
----------------------------------------------------------------------
diff --git a/activemq-client/src/main/java/org/apache/activemq/transport/failover/FailoverTransport.java b/activemq-client/src/main/java/org/apache/activemq/transport/failover/FailoverTransport.java
index 9a524df..541eaeb 100755
--- a/activemq-client/src/main/java/org/apache/activemq/transport/failover/FailoverTransport.java
+++ b/activemq-client/src/main/java/org/apache/activemq/transport/failover/FailoverTransport.java
@@ -21,8 +21,19 @@ import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.InterruptedIOException;
-import java.net.*;
-import java.util.*;
+import java.net.InetAddress;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.StringTokenizer;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.atomic.AtomicReference;
@@ -90,6 +101,7 @@ public class FailoverTransport implements CompositeTransport {
private int maxReconnectAttempts = INFINITE;
private int startupMaxReconnectAttempts = INFINITE;
private int connectFailures;
+ private int warnAfterReconnectAttempts = 10;
private long reconnectDelay = DEFAULT_INITIAL_RECONNECT_DELAY;
private Exception connectionFailure;
private boolean firstConnection = true;
@@ -1089,6 +1101,12 @@ public class FailoverTransport implements CompositeTransport {
propagateFailureToExceptionListener(connectionFailure);
return false;
}
+
+ int warnInterval = getWarnAfterReconnectAttempts();
+ if (warnInterval > 0 && (connectFailures % warnInterval) == 0) {
+ LOG.warn("Failed to connect to {} after: {} attempt(s) continuing to retry.",
+ uris, connectFailures);
+ }
}
if (!disposed) {
@@ -1411,4 +1429,22 @@ public class FailoverTransport implements CompositeTransport {
this.nestedExtraQueryOptions = nestedExtraQueryOptions;
}
+ public int getWarnAfterReconnectAttempts() {
+ return warnAfterReconnectAttempts;
+ }
+
+ /**
+ * Sets the number of Connect / Reconnect attempts that must occur before a warn message
+ * is logged indicating that the transport is not connected. This can be useful when the
+ * client is running inside some container or service as it give an indication of some
+ * problem with the client connection that might not otherwise be visible. To disable the
+ * log messages this value should be set to a value @{code attempts <= 0}
+ *
+ * @param warnAfterReconnectAttempts
+ * The number of failed connection attempts that must happen before a warning is logged.
+ */
+ public void setWarnAfterReconnectAttempts(int warnAfterReconnectAttempts) {
+ this.warnAfterReconnectAttempts = warnAfterReconnectAttempts;
+ }
+
}