Class SafePoolingHttpClientConnectionManagerBuilder

java.lang.Object
software.amazon.awssdk.http.apache5.internal.conn.SafePoolingHttpClientConnectionManagerBuilder

@SdkInternalApi public final class SafePoolingHttpClientConnectionManagerBuilder extends Object
This is a fork of PoolingHttpClientConnectionManagerBuilder from Apache 5. The purpose of this forked class is to enable usage of the SafePoolingHttpClientConnectionManager to enable the workaround for https://github.com/aws/aws-sdk-java-v2/issues/6786.
  • Constructor Details

    • SafePoolingHttpClientConnectionManagerBuilder

      public SafePoolingHttpClientConnectionManagerBuilder()
  • Method Details

    • create

    • setTlsSocketStrategy

      public SafePoolingHttpClientConnectionManagerBuilder setTlsSocketStrategy(org.apache.hc.client5.http.ssl.TlsSocketStrategy tlsSocketStrategy)
      Sets TlsSocketStrategy instance.
      Returns:
      this instance.
    • setDnsResolver

      public SafePoolingHttpClientConnectionManagerBuilder setDnsResolver(org.apache.hc.client5.http.DnsResolver dnsResolver)
      Sets DnsResolver instance.
      Returns:
      this instance.
    • setSchemePortResolver

      public SafePoolingHttpClientConnectionManagerBuilder setSchemePortResolver(org.apache.hc.client5.http.SchemePortResolver schemePortResolver)
      Sets SchemePortResolver instance.
      Returns:
      this instance.
    • setMaxConnTotal

      public SafePoolingHttpClientConnectionManagerBuilder setMaxConnTotal(int maxConnTotal)
      Sets maximum total connection value.
      Returns:
      this instance.
    • setMaxConnPerRoute

      public SafePoolingHttpClientConnectionManagerBuilder setMaxConnPerRoute(int maxConnPerRoute)
      Sets maximum connection per route value.
      Returns:
      this instance.
    • setDefaultSocketConfig

      public SafePoolingHttpClientConnectionManagerBuilder setDefaultSocketConfig(org.apache.hc.core5.http.io.SocketConfig config)
      Sets the same SocketConfig for all routes.
      Returns:
      this instance.
    • setSocketConfigResolver

      public SafePoolingHttpClientConnectionManagerBuilder setSocketConfigResolver(org.apache.hc.core5.function.Resolver<org.apache.hc.client5.http.HttpRoute,org.apache.hc.core5.http.io.SocketConfig> socketConfigResolver)
      Sets Resolver of SocketConfig on a per route basis.
      Returns:
      this instance.
      Since:
      5.2
    • setDefaultConnectionConfig

      public SafePoolingHttpClientConnectionManagerBuilder setDefaultConnectionConfig(org.apache.hc.client5.http.config.ConnectionConfig config)
      Sets the same ConnectionConfig for all routes.
      Returns:
      this instance.
      Since:
      5.2
    • setConnectionConfigResolver

      public SafePoolingHttpClientConnectionManagerBuilder setConnectionConfigResolver(org.apache.hc.core5.function.Resolver<org.apache.hc.client5.http.HttpRoute,org.apache.hc.client5.http.config.ConnectionConfig> connectionConfigResolver)
      Sets Resolver of ConnectionConfig on a per route basis.
      Returns:
      this instance.
      Since:
      5.2
    • setDefaultTlsConfig

      public SafePoolingHttpClientConnectionManagerBuilder setDefaultTlsConfig(org.apache.hc.client5.http.config.TlsConfig config)
      Sets the same TlsConfig for all hosts.
      Returns:
      this instance.
      Since:
      5.2
    • setTlsConfigResolver

      public SafePoolingHttpClientConnectionManagerBuilder setTlsConfigResolver(org.apache.hc.core5.function.Resolver<org.apache.hc.core5.http.HttpHost,org.apache.hc.client5.http.config.TlsConfig> tlsConfigResolver)
      Sets Resolver of TlsConfig on a per host basis.
      Returns:
      this instance.
      Since:
      5.2
    • createConnectionOperator

      protected org.apache.hc.client5.http.io.HttpClientConnectionOperator createConnectionOperator(org.apache.hc.client5.http.SchemePortResolver schemePortResolver, org.apache.hc.client5.http.DnsResolver dnsResolver, org.apache.hc.client5.http.ssl.TlsSocketStrategy tlsSocketStrategy)
    • build