org.apache.hc.client5.http.impl.io

## Class PoolingHttpClientConnectionManagerBuilder

- java.lang.Object
- - org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManagerBuilder

-     public class PoolingHttpClientConnectionManagerBuilder
      extends Object

  Builder for `PoolingHttpClientConnectionManager` 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

- - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `PoolingHttpClientConnectionManager` | `build()`
    `static PoolingHttpClientConnectionManagerBuilder` | `create()`
    `PoolingHttpClientConnectionManagerBuilder` | `setConnectionConfigResolver(org.apache.hc.core5.function.Resolver<HttpRoute,ConnectionConfig> connectionConfigResolver)` Assigns `Resolver` of `ConnectionConfig` on a per route basis.
    `PoolingHttpClientConnectionManagerBuilder` | `setConnectionFactory(org.apache.hc.core5.http.io.HttpConnectionFactory<ManagedHttpClientConnection> connectionFactory)` Assigns `HttpConnectionFactory` instance.
    `PoolingHttpClientConnectionManagerBuilder` | `setConnectionTimeToLive(org.apache.hc.core5.util.TimeValue timeToLive)` Deprecated. Use `setDefaultConnectionConfig(ConnectionConfig)`.
    `PoolingHttpClientConnectionManagerBuilder` | `setConnPoolPolicy(org.apache.hc.core5.pool.PoolReusePolicy poolReusePolicy)` Assigns `PoolReusePolicy` value.
    `PoolingHttpClientConnectionManagerBuilder` | `setDefaultConnectionConfig(ConnectionConfig config)` Assigns the same `ConnectionConfig` for all routes.
    `PoolingHttpClientConnectionManagerBuilder` | `setDefaultSocketConfig(org.apache.hc.core5.http.io.SocketConfig config)` Assigns the same `SocketConfig` for all routes.
    `PoolingHttpClientConnectionManagerBuilder` | `setDefaultTlsConfig(TlsConfig config)` Assigns the same `TlsConfig` for all hosts.
    `PoolingHttpClientConnectionManagerBuilder` | `setDnsResolver(DnsResolver dnsResolver)` Assigns `DnsResolver` instance.
    `PoolingHttpClientConnectionManagerBuilder` | `setMaxConnPerRoute(int maxConnPerRoute)` Assigns maximum connection per route value.
    `PoolingHttpClientConnectionManagerBuilder` | `setMaxConnTotal(int maxConnTotal)` Assigns maximum total connection value.
    `PoolingHttpClientConnectionManagerBuilder` | `setPoolConcurrencyPolicy(org.apache.hc.core5.pool.PoolConcurrencyPolicy poolConcurrencyPolicy)` Assigns `PoolConcurrencyPolicy` value.
    `PoolingHttpClientConnectionManagerBuilder` | `setSchemePortResolver(SchemePortResolver schemePortResolver)` Assigns `SchemePortResolver` instance.
    `PoolingHttpClientConnectionManagerBuilder` | `setSocketConfigResolver(org.apache.hc.core5.function.Resolver<HttpRoute,org.apache.hc.core5.http.io.SocketConfig> socketConfigResolver)` Assigns `Resolver` of `SocketConfig` on a per route basis.
    `PoolingHttpClientConnectionManagerBuilder` | `setSSLSocketFactory(LayeredConnectionSocketFactory sslSocketFactory)` Assigns `LayeredConnectionSocketFactory` instance.
    `PoolingHttpClientConnectionManagerBuilder` | `setTlsConfigResolver(org.apache.hc.core5.function.Resolver<org.apache.hc.core5.http.HttpHost,TlsConfig> tlsConfigResolver)` Assigns `Resolver` of `TlsConfig` on a per host basis.
    `PoolingHttpClientConnectionManagerBuilder` | `setValidateAfterInactivity(org.apache.hc.core5.util.TimeValue validateAfterInactivity)` Deprecated. Use `setDefaultConnectionConfig(ConnectionConfig)`.
    `PoolingHttpClientConnectionManagerBuilder` | `useSystemProperties()` Use system properties when creating and configuring default implementations.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### create

          public static PoolingHttpClientConnectionManagerBuilder create()

    - #### setConnectionFactory

          public final PoolingHttpClientConnectionManagerBuilder setConnectionFactory(org.apache.hc.core5.http.io.HttpConnectionFactory<ManagedHttpClientConnection> connectionFactory)

      Assigns `HttpConnectionFactory` instance.

    - #### setSSLSocketFactory

          public final PoolingHttpClientConnectionManagerBuilder setSSLSocketFactory(LayeredConnectionSocketFactory sslSocketFactory)

      Assigns `LayeredConnectionSocketFactory` instance.

    - #### setDnsResolver

          public final PoolingHttpClientConnectionManagerBuilder setDnsResolver(DnsResolver dnsResolver)

      Assigns `DnsResolver` instance.

    - #### setSchemePortResolver

          public final PoolingHttpClientConnectionManagerBuilder setSchemePortResolver(SchemePortResolver schemePortResolver)

      Assigns `SchemePortResolver` instance.

    - #### setPoolConcurrencyPolicy

          public final PoolingHttpClientConnectionManagerBuilder setPoolConcurrencyPolicy(org.apache.hc.core5.pool.PoolConcurrencyPolicy poolConcurrencyPolicy)

      Assigns `PoolConcurrencyPolicy` value.

    - #### setConnPoolPolicy

          public final PoolingHttpClientConnectionManagerBuilder setConnPoolPolicy(org.apache.hc.core5.pool.PoolReusePolicy poolReusePolicy)

      Assigns `PoolReusePolicy` value.

    - #### setMaxConnTotal

          public final PoolingHttpClientConnectionManagerBuilder setMaxConnTotal(int maxConnTotal)

      Assigns maximum total connection value.

    - #### setMaxConnPerRoute

          public final PoolingHttpClientConnectionManagerBuilder setMaxConnPerRoute(int maxConnPerRoute)

      Assigns maximum connection per route value.

    - #### setDefaultSocketConfig

          public final PoolingHttpClientConnectionManagerBuilder setDefaultSocketConfig(org.apache.hc.core5.http.io.SocketConfig config)

      Assigns the same `SocketConfig` for all routes.

    - #### setSocketConfigResolver

          public final PoolingHttpClientConnectionManagerBuilder setSocketConfigResolver(org.apache.hc.core5.function.Resolver<HttpRoute,org.apache.hc.core5.http.io.SocketConfig> socketConfigResolver)

      Assigns `Resolver` of `SocketConfig` on a per route basis.
      Since:
        5.2

    - #### setDefaultConnectionConfig

          public final PoolingHttpClientConnectionManagerBuilder setDefaultConnectionConfig(ConnectionConfig config)

      Assigns the same `ConnectionConfig` for all routes.
      Since:
        5.2

    - #### setConnectionConfigResolver

          public final PoolingHttpClientConnectionManagerBuilder setConnectionConfigResolver(org.apache.hc.core5.function.Resolver<HttpRoute,ConnectionConfig> connectionConfigResolver)

      Assigns `Resolver` of `ConnectionConfig` on a per route basis.
      Since:
        5.2

    - #### setDefaultTlsConfig

          public final PoolingHttpClientConnectionManagerBuilder setDefaultTlsConfig(TlsConfig config)

      Assigns the same `TlsConfig` for all hosts.
      Since:
        5.2

    - #### setTlsConfigResolver

          public final PoolingHttpClientConnectionManagerBuilder setTlsConfigResolver(org.apache.hc.core5.function.Resolver<org.apache.hc.core5.http.HttpHost,TlsConfig> tlsConfigResolver)

      Assigns `Resolver` of `TlsConfig` on a per host basis.
      Since:
        5.2

    - #### setConnectionTimeToLive

          @Deprecated
          public final PoolingHttpClientConnectionManagerBuilder setConnectionTimeToLive(org.apache.hc.core5.util.TimeValue timeToLive)

      Deprecated. Use `setDefaultConnectionConfig(ConnectionConfig)`.
      Sets maximum time to live for persistent connections

    - #### setValidateAfterInactivity

          @Deprecated
          public final PoolingHttpClientConnectionManagerBuilder setValidateAfterInactivity(org.apache.hc.core5.util.TimeValue validateAfterInactivity)

      Deprecated. Use `setDefaultConnectionConfig(ConnectionConfig)`.
      Sets period after inactivity after which persistent connections must be checked to ensure they are still valid.

    - #### useSystemProperties

          public final PoolingHttpClientConnectionManagerBuilder useSystemProperties()

      Use system properties when creating and configuring default implementations.

    - #### build

          public PoolingHttpClientConnectionManager build()

Copyright © 1999–2021 The Apache Software Foundation. All rights reserved.