Class PoolingAsyncClientConnectionManagerBuilder
- java.lang.Object
-
- org.apache.hc.client5.http.impl.nio.PoolingAsyncClientConnectionManagerBuilder
-
public class PoolingAsyncClientConnectionManagerBuilder extends java.lang.ObjectBuilder forPoolingAsyncClientConnectionManagerinstances.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 callingbuild().- 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
Fields Modifier and Type Field Description private org.apache.hc.core5.function.Resolver<HttpRoute,ConnectionConfig>connectionConfigResolverprivate DnsResolverdnsResolverprivate intmaxConnPerRouteprivate intmaxConnTotalprivate booleanmessageMultiplexingprivate org.apache.hc.core5.pool.PoolConcurrencyPolicypoolConcurrencyPolicyprivate org.apache.hc.core5.pool.PoolReusePolicypoolReusePolicyprivate SchemePortResolverschemePortResolverprivate booleansystemPropertiesprivate org.apache.hc.core5.function.Resolver<org.apache.hc.core5.http.HttpHost,TlsConfig>tlsConfigResolverprivate org.apache.hc.core5.http.nio.ssl.TlsStrategytlsStrategy
-
Constructor Summary
Constructors Modifier Constructor Description protectedPoolingAsyncClientConnectionManagerBuilder()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description PoolingAsyncClientConnectionManagerbuild()static PoolingAsyncClientConnectionManagerBuildercreate()protected AsyncClientConnectionOperatorcreateConnectionOperator(org.apache.hc.core5.http.nio.ssl.TlsStrategy tlsStrategy, SchemePortResolver schemePortResolver, DnsResolver dnsResolver)PoolingAsyncClientConnectionManagerBuildersetConnectionConfigResolver(org.apache.hc.core5.function.Resolver<HttpRoute,ConnectionConfig> connectionConfigResolver)SetsResolverofConnectionConfigon a per route basis.PoolingAsyncClientConnectionManagerBuildersetConnectionTimeToLive(org.apache.hc.core5.util.TimeValue timeToLive)Deprecated.PoolingAsyncClientConnectionManagerBuildersetConnPoolPolicy(org.apache.hc.core5.pool.PoolReusePolicy poolReusePolicy)SetsPoolReusePolicyvalue.PoolingAsyncClientConnectionManagerBuildersetDefaultConnectionConfig(ConnectionConfig config)Sets the sameConnectionConfigfor all routes.PoolingAsyncClientConnectionManagerBuildersetDefaultTlsConfig(TlsConfig config)Sets the sameTlsConfigfor all hosts.PoolingAsyncClientConnectionManagerBuildersetDnsResolver(DnsResolver dnsResolver)SetsDnsResolverinstance.PoolingAsyncClientConnectionManagerBuildersetMaxConnPerRoute(int maxConnPerRoute)Sets maximum connection per route value.PoolingAsyncClientConnectionManagerBuildersetMaxConnTotal(int maxConnTotal)Sets maximum total connection value.PoolingAsyncClientConnectionManagerBuildersetMessageMultiplexing(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.PoolingAsyncClientConnectionManagerBuildersetPoolConcurrencyPolicy(org.apache.hc.core5.pool.PoolConcurrencyPolicy poolConcurrencyPolicy)SetsPoolConcurrencyPolicyvalue.PoolingAsyncClientConnectionManagerBuildersetSchemePortResolver(SchemePortResolver schemePortResolver)SetsSchemePortResolverinstance.PoolingAsyncClientConnectionManagerBuildersetTlsConfigResolver(org.apache.hc.core5.function.Resolver<org.apache.hc.core5.http.HttpHost,TlsConfig> tlsConfigResolver)SetsResolverofTlsConfigon a per host basis.PoolingAsyncClientConnectionManagerBuildersetTlsStrategy(org.apache.hc.core5.http.nio.ssl.TlsStrategy tlsStrategy)SetsTlsStrategyinstance for TLS connections.PoolingAsyncClientConnectionManagerBuildersetValidateAfterInactivity(org.apache.hc.core5.util.TimeValue validateAfterInactivity)Deprecated.PoolingAsyncClientConnectionManagerBuilderuseSystemProperties()Use system properties when creating and configuring default implementations.
-
-
-
Field Detail
-
tlsStrategy
private org.apache.hc.core5.http.nio.ssl.TlsStrategy tlsStrategy
-
schemePortResolver
private SchemePortResolver schemePortResolver
-
dnsResolver
private DnsResolver 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
private org.apache.hc.core5.function.Resolver<HttpRoute,ConnectionConfig> connectionConfigResolver
-
tlsConfigResolver
private org.apache.hc.core5.function.Resolver<org.apache.hc.core5.http.HttpHost,TlsConfig> tlsConfigResolver
-
messageMultiplexing
private boolean messageMultiplexing
-
-
Method Detail
-
create
public static PoolingAsyncClientConnectionManagerBuilder create()
-
setTlsStrategy
public final PoolingAsyncClientConnectionManagerBuilder setTlsStrategy(org.apache.hc.core5.http.nio.ssl.TlsStrategy tlsStrategy)
SetsTlsStrategyinstance for TLS connections.- Returns:
- this instance.
-
setDnsResolver
public final PoolingAsyncClientConnectionManagerBuilder setDnsResolver(DnsResolver dnsResolver)
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
public final PoolingAsyncClientConnectionManagerBuilder setMaxConnTotal(int maxConnTotal)
Sets maximum total connection value.- Returns:
- this instance.
-
setMaxConnPerRoute
public final PoolingAsyncClientConnectionManagerBuilder setMaxConnPerRoute(int maxConnPerRoute)
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
public final PoolingAsyncClientConnectionManagerBuilder setDefaultTlsConfig(TlsConfig config)
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
public final PoolingAsyncClientConnectionManagerBuilder 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
public PoolingAsyncClientConnectionManager build()
-
-