[hornetq-commits] JBoss hornetq SVN: r9730 - branches/2_2_0_HA_Improvements/src/main/org/hornetq/core/server/cluster/impl.
do-not-reply at jboss.org
do-not-reply at jboss.org
Wed Sep 29 03:17:51 EDT 2010
Author: ataylor
Date: 2010-09-29 03:17:51 -0400 (Wed, 29 Sep 2010)
New Revision: 9730
Modified:
branches/2_2_0_HA_Improvements/src/main/org/hornetq/core/server/cluster/impl/ClusterConnectionImpl.java
Log:
added list of allowed connectors when allowdirectconnections is used
Modified: branches/2_2_0_HA_Improvements/src/main/org/hornetq/core/server/cluster/impl/ClusterConnectionImpl.java
===================================================================
--- branches/2_2_0_HA_Improvements/src/main/org/hornetq/core/server/cluster/impl/ClusterConnectionImpl.java 2010-09-29 07:16:46 UTC (rev 9729)
+++ branches/2_2_0_HA_Improvements/src/main/org/hornetq/core/server/cluster/impl/ClusterConnectionImpl.java 2010-09-29 07:17:51 UTC (rev 9730)
@@ -20,6 +20,7 @@
import java.util.HashSet;
import java.util.Map;
import java.util.Map.Entry;
+import java.util.Set;
import java.util.concurrent.ScheduledExecutorService;
import org.hornetq.api.core.Pair;
@@ -98,6 +99,8 @@
private final TransportConfiguration connector;
private final boolean allowsDirectConnectionsOnly;
+
+ private final Set<TransportConfiguration> allowableConnections = new HashSet<TransportConfiguration>();
public ClusterConnectionImpl(final ServerLocatorInternal serverLocator,
final TransportConfiguration connector,
@@ -140,9 +143,18 @@
}
// a cluster connection will connect to other nodes only if they are directly connected
- // through a static list of connectors
- allowsDirectConnectionsOnly = (serverLocator.getStaticTransportConfigurations() != null);
- } else
+ // through a static list of connectors or broadcasting using UDP.
+ TransportConfiguration[] transportConfigurations = serverLocator.getStaticTransportConfigurations();
+ allowsDirectConnectionsOnly = (transportConfigurations != null);
+ if(allowsDirectConnectionsOnly)
+ {
+ for (TransportConfiguration transportConfiguration : transportConfigurations)
+ {
+ allowableConnections.add(transportConfiguration);
+ }
+ }
+ }
+ else
{
allowsDirectConnectionsOnly = false;
}
@@ -351,7 +363,7 @@
server.getClusterManager().notifyNodeUp(nodeID, sourceNodeID, connectorPair, last, distance);
// if the node is more than 1 hop away, we do not create a bridge for direct cluster connection
- if (allowsDirectConnectionsOnly && distance > 1)
+ if (allowsDirectConnectionsOnly && distance > 1 && !allowableConnections.contains(connectorPair.a))
{
return;
}
More information about the hornetq-commits
mailing list