ResolvedAddress - The resolved address type.public final class CacheConnectionHttpLoadBalanceFactory<ResolvedAddress>
extends Object
implements HttpLoadBalancerFactory<ResolvedAddress>
HttpLoadBalancerFactory that will cache successive connection creation attempts and return the same
Single instead of creating a new connection each time. This is useful when a spike of connections occurs
instead of creating a new connection for each request, if the underlying protocol version supports concurrency
(pipelining, multiplexing) a single connection creation attempt can be used before the connection is actually
established, which will reduce the overall number of connectiosn required.| Constructor and Description |
|---|
CacheConnectionHttpLoadBalanceFactory(HttpLoadBalancerFactory<ResolvedAddress> delegate,
ToIntFunction<ResolvedAddress> maxConcurrencyFunc)
Create a new instance.
|
| Modifier and Type | Method and Description |
|---|---|
LoadBalancer<FilterableStreamingHttpLoadBalancedConnection> |
newLoadBalancer(Publisher<? extends Collection<? extends ServiceDiscovererEvent<ResolvedAddress>>> eventPublisher,
ConnectionFactory<ResolvedAddress,FilterableStreamingHttpLoadBalancedConnection> connectionFactory,
String targetResource) |
<T extends FilterableStreamingHttpLoadBalancedConnection> |
newLoadBalancer(String targetResource,
Publisher<? extends Collection<? extends ServiceDiscovererEvent<ResolvedAddress>>> eventPublisher,
ConnectionFactory<ResolvedAddress,T> connectionFactory) |
HttpExecutionStrategy |
requiredOffloads() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitpublic CacheConnectionHttpLoadBalanceFactory(HttpLoadBalancerFactory<ResolvedAddress> delegate, ToIntFunction<ResolvedAddress> maxConcurrencyFunc)
delegate - The LoadBalancerFactory to delegate to.maxConcurrencyFunc - The default number of maximum concurrency requests per each address.public <T extends FilterableStreamingHttpLoadBalancedConnection> LoadBalancer<T> newLoadBalancer(String targetResource,
Publisher<? extends Collection<? extends ServiceDiscovererEvent<ResolvedAddress>>> eventPublisher,
ConnectionFactory<ResolvedAddress,T> connectionFactory)
newLoadBalancer in interface LoadBalancerFactory<ResolvedAddress,FilterableStreamingHttpLoadBalancedConnection>public LoadBalancer<FilterableStreamingHttpLoadBalancedConnection> newLoadBalancer(Publisher<? extends Collection<? extends ServiceDiscovererEvent<ResolvedAddress>>> eventPublisher, ConnectionFactory<ResolvedAddress,FilterableStreamingHttpLoadBalancedConnection> connectionFactory, String targetResource)
newLoadBalancer in interface LoadBalancerFactory<ResolvedAddress,FilterableStreamingHttpLoadBalancedConnection>public HttpExecutionStrategy requiredOffloads()
requiredOffloads in interface LoadBalancerFactory<ResolvedAddress,FilterableStreamingHttpLoadBalancedConnection>requiredOffloads in interface HttpLoadBalancerFactory<ResolvedAddress>requiredOffloads in interface ExecutionStrategyInfluencer<ExecutionStrategy>