|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.netflix.loadbalancer.LoadBalancerContext
public class LoadBalancerContext
A class contains APIs intended to be used be load balancing client which is subclass of this class.
| Field Summary | |
|---|---|
protected java.lang.String |
clientName
|
protected com.netflix.client.RetryHandler |
defaultRetryHandler
|
protected int |
maxAutoRetries
|
protected int |
maxAutoRetriesNextServer
|
protected boolean |
okToRetryOnAllOperations
|
protected java.lang.String |
vipAddresses
|
| Constructor Summary | |
|---|---|
LoadBalancerContext(ILoadBalancer lb)
|
|
LoadBalancerContext(ILoadBalancer lb,
com.netflix.client.config.IClientConfig clientConfig)
Delegate to initWithNiwsConfig(IClientConfig) |
|
LoadBalancerContext(ILoadBalancer lb,
com.netflix.client.config.IClientConfig clientConfig,
com.netflix.client.RetryHandler handler)
|
|
| Method Summary | |
|---|---|
protected com.netflix.util.Pair<java.lang.String,java.lang.Integer> |
deriveHostAndPortFromVipAddress(java.lang.String vipAddress)
Derive the host and port from virtual address if virtual address is indeed contains the actual host and port of the server. |
protected com.netflix.util.Pair<java.lang.String,java.lang.Integer> |
deriveSchemeAndPortFromPartialUri(java.net.URI uri)
Derive scheme and port from a partial URI. |
protected com.netflix.client.ClientException |
generateNIWSException(java.lang.String uri,
java.lang.Throwable e)
|
java.lang.String |
getClientName()
|
protected java.lang.Throwable |
getDeepestCause(java.lang.Throwable e)
|
protected int |
getDefaultPortFromScheme(java.lang.String scheme)
Get the default port of the target server given the scheme of vip address if it is available. |
protected com.netflix.servo.monitor.Timer |
getExecuteTracer()
|
ILoadBalancer |
getLoadBalancer()
|
int |
getMaxAutoRetries()
Deprecated. |
int |
getMaxAutoRetriesNextServer()
Deprecated. |
protected int |
getNumberRetriesOnSameServer(com.netflix.client.config.IClientConfig overriddenClientConfig)
|
protected int |
getRetriesNextServer(com.netflix.client.config.IClientConfig overriddenClientConfig)
|
com.netflix.client.RetryHandler |
getRetryHandler()
|
protected Server |
getServerFromLoadBalancer(java.net.URI original,
java.lang.Object loadBalancerKey)
Compute the final URI from a partial URI in the request. |
ServerStats |
getServerStats(Server server)
|
protected boolean |
handleSameServerRetry(Server server,
int currentRetryCount,
int maxRetries,
java.lang.Throwable e)
|
void |
initWithNiwsConfig(com.netflix.client.config.IClientConfig clientConfig)
Set necessary parameters from client configuration and register with Servo monitors. |
boolean |
isOkToRetryOnAllOperations()
|
protected void |
noteError(ServerStats stats,
com.netflix.client.ClientRequest request,
java.lang.Throwable e,
long responseTime)
This is called after an error is thrown from the client to update related stats. |
protected void |
noteOpenConnection(ServerStats serverStats)
This is usually called just before client execute a request. |
protected void |
noteRequestCompletion(ServerStats stats,
java.lang.Object response,
java.lang.Throwable e,
long responseTime)
|
protected void |
noteRequestCompletion(ServerStats stats,
java.lang.Object response,
java.lang.Throwable e,
long responseTime,
com.netflix.client.RetryHandler errorHandler)
This is called after a response is received or an exception is thrown from the client to update related stats. |
protected void |
noteResponse(ServerStats stats,
com.netflix.client.ClientRequest request,
java.lang.Object response,
long responseTime)
This is called after a response is received from the client to update related stats. |
java.net.URI |
reconstructURIWithServer(Server server,
java.net.URI original)
|
void |
setLoadBalancer(ILoadBalancer lb)
|
void |
setMaxAutoRetries(int maxAutoRetries)
Deprecated. |
void |
setMaxAutoRetriesNextServer(int maxAutoRetriesNextServer)
Deprecated. |
void |
setOkToRetryOnAllOperations(boolean okToRetryOnAllOperations)
|
void |
setRetryHandler(com.netflix.client.RetryHandler retryHandler)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected java.lang.String clientName
protected java.lang.String vipAddresses
protected int maxAutoRetriesNextServer
protected int maxAutoRetries
protected com.netflix.client.RetryHandler defaultRetryHandler
protected boolean okToRetryOnAllOperations
| Constructor Detail |
|---|
public LoadBalancerContext(ILoadBalancer lb)
public LoadBalancerContext(ILoadBalancer lb,
com.netflix.client.config.IClientConfig clientConfig)
initWithNiwsConfig(IClientConfig)
clientConfig -
public LoadBalancerContext(ILoadBalancer lb,
com.netflix.client.config.IClientConfig clientConfig,
com.netflix.client.RetryHandler handler)
| Method Detail |
|---|
public void initWithNiwsConfig(com.netflix.client.config.IClientConfig clientConfig)
initWithNiwsConfig in interface com.netflix.client.IClientConfigAwareprotected com.netflix.servo.monitor.Timer getExecuteTracer()
public java.lang.String getClientName()
public ILoadBalancer getLoadBalancer()
public void setLoadBalancer(ILoadBalancer lb)
@Deprecated public int getMaxAutoRetriesNextServer()
getRetryHandler()
@Deprecated public void setMaxAutoRetriesNextServer(int maxAutoRetriesNextServer)
setRetryHandler(RetryHandler)
@Deprecated public int getMaxAutoRetries()
getRetryHandler()
@Deprecated public void setMaxAutoRetries(int maxAutoRetries)
setRetryHandler(RetryHandler)
protected java.lang.Throwable getDeepestCause(java.lang.Throwable e)
protected com.netflix.client.ClientException generateNIWSException(java.lang.String uri,
java.lang.Throwable e)
protected void noteRequestCompletion(ServerStats stats,
java.lang.Object response,
java.lang.Throwable e,
long responseTime)
protected void noteRequestCompletion(ServerStats stats,
java.lang.Object response,
java.lang.Throwable e,
long responseTime,
com.netflix.client.RetryHandler errorHandler)
protected void noteError(ServerStats stats,
com.netflix.client.ClientRequest request,
java.lang.Throwable e,
long responseTime)
protected void noteResponse(ServerStats stats,
com.netflix.client.ClientRequest request,
java.lang.Object response,
long responseTime)
protected void noteOpenConnection(ServerStats serverStats)
protected com.netflix.util.Pair<java.lang.String,java.lang.Integer> deriveSchemeAndPortFromPartialUri(java.net.URI uri)
getServerFromLoadBalancer(java.net.URI, Object) and
reconstructURIWithServer(Server, java.net.URI) methods to get the complete executable URI.
protected int getDefaultPortFromScheme(java.lang.String scheme)
scheme - from the vip address. null if not present.
protected com.netflix.util.Pair<java.lang.String,java.lang.Integer> deriveHostAndPortFromVipAddress(java.lang.String vipAddress)
throws java.net.URISyntaxException,
com.netflix.client.ClientException
getServerFromLoadBalancer(java.net.URI, Object)
if there is no load balancer available and the request URI is incomplete. Sub classes can override this method
to be more accurate or throws ClientException if it does not want to support virtual address to be the
same as physical server address.
The virtual address is used by certain load balancers to filter the servers of the same function to form the server pool.
java.net.URISyntaxException
com.netflix.client.ClientException
protected Server getServerFromLoadBalancer(@Nullable
java.net.URI original,
@Nullable
java.lang.Object loadBalancerKey)
throws com.netflix.client.ClientException
original - Original URI passed from caller
com.netflix.client.ClientException
public java.net.URI reconstructURIWithServer(Server server,
java.net.URI original)
protected int getRetriesNextServer(com.netflix.client.config.IClientConfig overriddenClientConfig)
public final ServerStats getServerStats(Server server)
protected int getNumberRetriesOnSameServer(com.netflix.client.config.IClientConfig overriddenClientConfig)
protected boolean handleSameServerRetry(Server server,
int currentRetryCount,
int maxRetries,
java.lang.Throwable e)
public final com.netflix.client.RetryHandler getRetryHandler()
public final void setRetryHandler(com.netflix.client.RetryHandler retryHandler)
public final boolean isOkToRetryOnAllOperations()
public final void setOkToRetryOnAllOperations(boolean okToRetryOnAllOperations)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||