[
https://issues.apache.org/jira/browse/ARTEMIS-546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15307591#comment-15307591
]
Miroslav Novak commented on ARTEMIS-546:
----------------------------------------
Looking at the code in {{ServerLocatorImpl.selectConnector()}}, I'm not sure if
use of {{loadBalancingPolicy}} when {{usedTopology}} is {{null}} is valid as we
should iterate over them everytime. Currently we iterate over them because
round robin policy is used by default.
{code}
private TransportConfiguration selectConnector() {
Pair<TransportConfiguration, TransportConfiguration>[] usedTopology;
synchronized (topologyArrayGuard) {
usedTopology = topologyArray;
}
synchronized (this) {
// if the topologyArray is null, we will use the initialConnectors
if (usedTopology != null) {
if (logger.isTraceEnabled()) {
logger.trace("Selecting connector from toplogy.");
}
int pos = loadBalancingPolicy.select(usedTopology.length);
Pair<TransportConfiguration, TransportConfiguration> pair =
usedTopology[pos];
return pair.getA();
}
else {
// Get from initialconnectors
if (logger.isTraceEnabled()) {
logger.trace("Selecting connector from initial connectors.");
}
int pos = loadBalancingPolicy.select(initialConnectors.length);
return initialConnectors[pos];
}
}
}
{code}
> Allow to disable client-side load-balancing
> -------------------------------------------
>
> Key: ARTEMIS-546
> URL: https://issues.apache.org/jira/browse/ARTEMIS-546
> Project: ActiveMQ Artemis
> Issue Type: New Feature
> Components: Broker
> Affects Versions: 1.3.0
> Reporter: Miroslav Novak
>
> In case when user wants to define client side load-balancing on its own and
> for each client specify connector to node in cluster to which it must connect
> then there is no way do it by current load-balancing policies.
> Interface {{ConnectionLoadBalancingPolicy}} does not allow to say to which
> node to connect based on connector information which was used in
> configuration connection factory.
> Idea is to allow to disable load-balancing policy. When load-balancing policy
> is disabled then it will iterate through initial connectors (in sequence as
> they were configured) to create connection to remote broker.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)