public class LoadBalancer
extends java.lang.Object
| Constructor and Description |
|---|
LoadBalancer(java.util.List<Host> initialHosts) |
| Modifier and Type | Method and Description |
|---|---|
java.util.List<Host> |
getAllHosts()
Returns a list of all known hosts.
|
HostStats[] |
getHostStats()
Returns stats for all active hosts in this load balancer
|
long |
getOpenConnections() |
Host |
getTopHost(java.util.Map<java.lang.String,java.lang.Object> requestProperties)
Returns the host with the lowest response index.
|
long |
getTotalConnections() |
long |
getTotalErrors() |
java.util.List<HostVetoRule> |
getVetoRules() |
void |
resetStats()
Resets connection metrics.
|
void |
setVetoRules(java.util.List<HostVetoRule> vetoRules) |
protected boolean |
shouldVeto(Host host,
java.util.Map<java.lang.String,java.lang.Object> requestProperties) |
protected void |
updateHosts(java.util.List<Host> updatedHosts)
Ensure this method is called sparingly as it will block getTopHost() calls, pausing all new connections!
|
LoadBalancer |
withVetoRules(HostVetoRule... vetoRules) |
public LoadBalancer(java.util.List<Host> initialHosts)
public Host getTopHost(java.util.Map<java.lang.String,java.lang.Object> requestProperties)
protected boolean shouldVeto(Host host, java.util.Map<java.lang.String,java.lang.Object> requestProperties)
public java.util.List<Host> getAllHosts()
public HostStats[] getHostStats()
public void resetStats()
public long getTotalConnections()
public long getTotalErrors()
public long getOpenConnections()
protected void updateHosts(java.util.List<Host> updatedHosts) throws java.lang.Exception
java.lang.Exceptionpublic java.util.List<HostVetoRule> getVetoRules()
public void setVetoRules(java.util.List<HostVetoRule> vetoRules)
public LoadBalancer withVetoRules(HostVetoRule... vetoRules)