You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by de...@apache.org on 2016/06/14 12:29:21 UTC
activemq git commit: https://issues.apache.org/jira/browse/AMQ-6322 -
Introduce timeout in network bridge for waiting broker infos
Repository: activemq
Updated Branches:
refs/heads/master dbed28e62 -> 9f9b0fb26
https://issues.apache.org/jira/browse/AMQ-6322 - Introduce timeout in network bridge for waiting broker infos
Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/9f9b0fb2
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/9f9b0fb2
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/9f9b0fb2
Branch: refs/heads/master
Commit: 9f9b0fb26afdec927f8a33bdb3dc8d9149eb18c2
Parents: dbed28e
Author: Dejan Bosanac <de...@nighttale.net>
Authored: Tue Jun 14 14:29:11 2016 +0200
Committer: Dejan Bosanac <de...@nighttale.net>
Committed: Tue Jun 14 14:29:11 2016 +0200
----------------------------------------------------------------------
.../activemq/network/DemandForwardingBridgeSupport.java | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq/blob/9f9b0fb2/activemq-broker/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java
----------------------------------------------------------------------
diff --git a/activemq-broker/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java b/activemq-broker/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java
index c1319f5..4df71d5 100644
--- a/activemq-broker/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java
+++ b/activemq-broker/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java
@@ -90,6 +90,7 @@ import org.apache.activemq.transport.Transport;
import org.apache.activemq.transport.TransportDisposedIOException;
import org.apache.activemq.transport.TransportFilter;
import org.apache.activemq.transport.tcp.SslTransport;
+import org.apache.activemq.transport.tcp.TcpTransport;
import org.apache.activemq.util.IdGenerator;
import org.apache.activemq.util.IntrospectionSupport;
import org.apache.activemq.util.LongSequenceGenerator;
@@ -342,11 +343,16 @@ public abstract class DemandForwardingBridgeSupport implements NetworkBridge, Br
}
private void collectBrokerInfos() {
+ int timeout = 30000;
+ TcpTransport tcpTransport = remoteBroker.narrow(TcpTransport.class);
+ if (tcpTransport != null) {
+ timeout = tcpTransport.getConnectionTimeout();
+ }
// First wait for the remote to feed us its BrokerInfo, then we can check on
// the LocalBrokerInfo and decide is this is a loop.
try {
- remoteBrokerInfo = futureRemoteBrokerInfo.get();
+ remoteBrokerInfo = futureRemoteBrokerInfo.get(timeout, TimeUnit.MILLISECONDS);
if (remoteBrokerInfo == null) {
serviceLocalException(new Throwable("remoteBrokerInfo is null"));
return;
@@ -357,7 +363,7 @@ public abstract class DemandForwardingBridgeSupport implements NetworkBridge, Br
}
try {
- localBrokerInfo = futureLocalBrokerInfo.get();
+ localBrokerInfo = futureLocalBrokerInfo.get(timeout, TimeUnit.MILLISECONDS);
if (localBrokerInfo == null) {
serviceLocalException(new Throwable("localBrokerInfo is null"));
return;