Class PoolingAsyncClientConnectionManagerBuilder
java.lang.Object
org.apache.hc.client5.http.impl.nio.PoolingAsyncClientConnectionManagerBuilder
Builder for
PoolingAsyncClientConnectionManager instances.
When a particular component is not explicitly set this class will
use its default implementation. System properties will be taken
into account when configuring the default implementations when
useSystemProperties() method is called prior to calling
build().
- ssl.TrustManagerFactory.algorithm
- javax.net.ssl.trustStoreType
- javax.net.ssl.trustStore
- javax.net.ssl.trustStoreProvider
- javax.net.ssl.trustStorePassword
- ssl.KeyManagerFactory.algorithm
- javax.net.ssl.keyStoreType
- javax.net.ssl.keyStore
- javax.net.ssl.keyStoreProvider
- javax.net.ssl.keyStorePassword
- https.protocols
- https.cipherSuites
- Since:
- 5.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate org.apache.hc.core5.function.Resolver<HttpRoute, ConnectionConfig> private DnsResolverprivate intprivate intprivate booleanprivate org.apache.hc.core5.pool.PoolConcurrencyPolicyprivate org.apache.hc.core5.pool.PoolReusePolicyprivate SchemePortResolverprivate booleanprivate org.apache.hc.core5.function.Resolver<org.apache.hc.core5.http.HttpHost, TlsConfig> private org.apache.hc.core5.http.nio.ssl.TlsStrategy -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuild()create()protected AsyncClientConnectionOperatorcreateConnectionOperator(org.apache.hc.core5.http.nio.ssl.TlsStrategy tlsStrategy, SchemePortResolver schemePortResolver, DnsResolver dnsResolver) setConnectionConfigResolver(org.apache.hc.core5.function.Resolver<HttpRoute, ConnectionConfig> connectionConfigResolver) SetsResolverofConnectionConfigon a per route basis.setConnectionTimeToLive(org.apache.hc.core5.util.TimeValue timeToLive) Deprecated.setConnPoolPolicy(org.apache.hc.core5.pool.PoolReusePolicy poolReusePolicy) SetsPoolReusePolicyvalue.Sets the sameConnectionConfigfor all routes.setDefaultTlsConfig(TlsConfig config) Sets the sameTlsConfigfor all hosts.setDnsResolver(DnsResolver dnsResolver) SetsDnsResolverinstance.setMaxConnPerRoute(int maxConnPerRoute) Sets maximum connection per route value.setMaxConnTotal(int maxConnTotal) Sets maximum total connection value.setMessageMultiplexing(boolean messageMultiplexing) Use experimental connections pool implementation that acts as a caching facade in front of a standard connection pool and shares already leased connections to multiplex message exchanges over active HTTP/2 connections.setPoolConcurrencyPolicy(org.apache.hc.core5.pool.PoolConcurrencyPolicy poolConcurrencyPolicy) SetsPoolConcurrencyPolicyvalue.setSchemePortResolver(SchemePortResolver schemePortResolver) SetsSchemePortResolverinstance.setTlsConfigResolver(org.apache.hc.core5.function.Resolver<org.apache.hc.core5.http.HttpHost, TlsConfig> tlsConfigResolver) SetsResolverofTlsConfigon a per host basis.setTlsStrategy(org.apache.hc.core5.http.nio.ssl.TlsStrategy tlsStrategy) SetsTlsStrategyinstance for TLS connections.setValidateAfterInactivity(org.apache.hc.core5.util.TimeValue validateAfterInactivity) Deprecated.Use system properties when creating and configuring default implementations.
-
Field Details
-
tlsStrategy
private org.apache.hc.core5.http.nio.ssl.TlsStrategy tlsStrategy -
schemePortResolver
-
dnsResolver
-
poolConcurrencyPolicy
private org.apache.hc.core5.pool.PoolConcurrencyPolicy poolConcurrencyPolicy -
poolReusePolicy
private org.apache.hc.core5.pool.PoolReusePolicy poolReusePolicy -
systemProperties
private boolean systemProperties -
maxConnTotal
private int maxConnTotal -
maxConnPerRoute
private int maxConnPerRoute -
connectionConfigResolver
-
tlsConfigResolver
private org.apache.hc.core5.function.Resolver<org.apache.hc.core5.http.HttpHost, TlsConfig> tlsConfigResolver -
messageMultiplexing
private boolean messageMultiplexing
-
-
Constructor Details
-
PoolingAsyncClientConnectionManagerBuilder
@Internal protected PoolingAsyncClientConnectionManagerBuilder()
-
-
Method Details
-
create
-
setTlsStrategy
public final PoolingAsyncClientConnectionManagerBuilder setTlsStrategy(org.apache.hc.core5.http.nio.ssl.TlsStrategy tlsStrategy) SetsTlsStrategyinstance for TLS connections.- Returns:
- this instance.
-
setDnsResolver
SetsDnsResolverinstance.- Returns:
- this instance.
-
setSchemePortResolver
public final PoolingAsyncClientConnectionManagerBuilder setSchemePortResolver(SchemePortResolver schemePortResolver) SetsSchemePortResolverinstance.- Returns:
- this instance.
-
setPoolConcurrencyPolicy
public final PoolingAsyncClientConnectionManagerBuilder setPoolConcurrencyPolicy(org.apache.hc.core5.pool.PoolConcurrencyPolicy poolConcurrencyPolicy) SetsPoolConcurrencyPolicyvalue.- Returns:
- this instance.
-
setConnPoolPolicy
public final PoolingAsyncClientConnectionManagerBuilder setConnPoolPolicy(org.apache.hc.core5.pool.PoolReusePolicy poolReusePolicy) SetsPoolReusePolicyvalue.- Returns:
- this instance.
-
setMaxConnTotal
Sets maximum total connection value.- Returns:
- this instance.
-
setMaxConnPerRoute
Sets maximum connection per route value.- Returns:
- this instance.
-
setDefaultConnectionConfig
public final PoolingAsyncClientConnectionManagerBuilder setDefaultConnectionConfig(ConnectionConfig config) Sets the sameConnectionConfigfor all routes.- Returns:
- this instance.
- Since:
- 5.2
-
setConnectionConfigResolver
public final PoolingAsyncClientConnectionManagerBuilder setConnectionConfigResolver(org.apache.hc.core5.function.Resolver<HttpRoute, ConnectionConfig> connectionConfigResolver) SetsResolverofConnectionConfigon a per route basis.- Returns:
- this instance.
- Since:
- 5.2
-
setDefaultTlsConfig
Sets the sameTlsConfigfor all hosts.- Returns:
- this instance.
- Since:
- 5.2
-
setTlsConfigResolver
public final PoolingAsyncClientConnectionManagerBuilder setTlsConfigResolver(org.apache.hc.core5.function.Resolver<org.apache.hc.core5.http.HttpHost, TlsConfig> tlsConfigResolver) SetsResolverofTlsConfigon a per host basis.- Returns:
- this instance.
- Since:
- 5.2
-
setConnectionTimeToLive
@Deprecated public final PoolingAsyncClientConnectionManagerBuilder setConnectionTimeToLive(org.apache.hc.core5.util.TimeValue timeToLive) Deprecated.Sets maximum time to live for persistent connections- Returns:
- this instance.
-
setValidateAfterInactivity
@Deprecated public final PoolingAsyncClientConnectionManagerBuilder setValidateAfterInactivity(org.apache.hc.core5.util.TimeValue validateAfterInactivity) Deprecated.Sets period after inactivity after which persistent connections must be checked to ensure they are still valid.- Returns:
- this instance.
-
useSystemProperties
Use system properties when creating and configuring default implementations.- Returns:
- this instance.
-
setMessageMultiplexing
@Experimental public final PoolingAsyncClientConnectionManagerBuilder setMessageMultiplexing(boolean messageMultiplexing) Use experimental connections pool implementation that acts as a caching facade in front of a standard connection pool and shares already leased connections to multiplex message exchanges over active HTTP/2 connections.Please note this flag has no effect on HTTP/1.1 and HTTP/1.0 connections.
This feature is considered experimenal
- Returns:
- this instance.
- Since:
- 5.5
-
createConnectionOperator
@Internal protected AsyncClientConnectionOperator createConnectionOperator(org.apache.hc.core5.http.nio.ssl.TlsStrategy tlsStrategy, SchemePortResolver schemePortResolver, DnsResolver dnsResolver) -
build
-
setDefaultConnectionConfig(ConnectionConfig)