public class LoadBalancerBuilder<T extends Server>
extends java.lang.Object
Modifier and Type | Method and Description |
---|---|
ZoneAwareLoadBalancer<T> |
buildDynamicServerListLoadBalancer()
|
BaseLoadBalancer |
buildFixedServerListLoadBalancer(java.util.List<T> servers) |
ILoadBalancer |
buildLoadBalancerFromConfigWithReflection()
Build a load balancer using the configuration from the
IClientConfig only. |
static <T extends Server> |
newBuilder() |
LoadBalancerBuilder<T> |
withClientConfig(com.netflix.client.config.IClientConfig config) |
LoadBalancerBuilder<T> |
withDynamicServerList(ServerList<T> serverListImpl) |
LoadBalancerBuilder<T> |
withPing(IPing ping) |
LoadBalancerBuilder<T> |
withRule(IRule rule) |
LoadBalancerBuilder<T> |
withServerListFilter(ServerListFilter<T> serverListFilter) |
public static <T extends Server> LoadBalancerBuilder<T> newBuilder()
public LoadBalancerBuilder<T> withClientConfig(com.netflix.client.config.IClientConfig config)
public LoadBalancerBuilder<T> withRule(IRule rule)
public LoadBalancerBuilder<T> withPing(IPing ping)
public LoadBalancerBuilder<T> withDynamicServerList(ServerList<T> serverListImpl)
public LoadBalancerBuilder<T> withServerListFilter(ServerListFilter<T> serverListFilter)
public BaseLoadBalancer buildFixedServerListLoadBalancer(java.util.List<T> servers)
public ZoneAwareLoadBalancer<T> buildDynamicServerListLoadBalancer()
ZoneAwareLoadBalancer
with a dynamic ServerList
and an IRule
. The ServerList
can be
either set in the withDynamicServerList(ServerList)
or in the IClientConfig
using CommonClientConfigKey.NIWSServerListClassName
.
The IRule
can be either set by withRule(IRule)
or in the IClientConfig
using
CommonClientConfigKey.NFLoadBalancerRuleClassName
.public ILoadBalancer buildLoadBalancerFromConfigWithReflection()
IClientConfig
only. It uses reflection to initialize necessary load balancer
components.