Class HttpClientConfiguration

  • All Implemented Interfaces:
    java.io.Serializable

    public abstract class HttpClientConfiguration
    extends java.lang.Object
    implements java.io.Serializable
    HTTP client configuration for both, sync and async AWS clients.

    All timeouts are configured in milliseconds.

    See Also:
    Client HTTP Configuration, Serialized Form
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      static HttpClientConfiguration.Builder builder()  
      abstract java.lang.Integer connectionAcquisitionTimeout()
      Milliseconds to wait when acquiring a connection from the pool before giving up and timing out.
      abstract java.lang.Integer connectionMaxIdleTime()
      Maximum milliseconds a connection should be allowed to remain open while idle.
      abstract java.lang.Integer connectionTimeout()
      Milliseconds to wait when initially establishing a connection before giving up and timing out.
      abstract java.lang.Integer connectionTimeToLive()
      Maximum milliseconds a connection should be allowed to remain open, regardless of usage frequency.
      abstract java.lang.Integer maxConnections()
      The maximum number of connections allowed in the connection pool.
      abstract java.lang.Integer readTimeout()
      Milliseconds to wait for a read on a socket before an exception is thrown.
      abstract java.lang.Integer socketTimeout()
      Milliseconds to wait for data to be transferred over an established, open connection before the connection is timed out.
      abstract java.lang.Integer writeTimeout()
      Milliseconds to wait for a write on a socket before an exception is thrown.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • HttpClientConfiguration

        public HttpClientConfiguration()
    • Method Detail

      • connectionAcquisitionTimeout

        @Nullable
        @Pure
        public abstract java.lang.Integer connectionAcquisitionTimeout()
        Milliseconds to wait when acquiring a connection from the pool before giving up and timing out.
      • connectionMaxIdleTime

        @Nullable
        @Pure
        public abstract java.lang.Integer connectionMaxIdleTime()
        Maximum milliseconds a connection should be allowed to remain open while idle.

        This will never close a connection that is currently in use, so long-lived connections may remain open longer than this time.

      • connectionTimeout

        @Nullable
        @Pure
        public abstract java.lang.Integer connectionTimeout()
        Milliseconds to wait when initially establishing a connection before giving up and timing out. A duration of 0 means infinity, and is not recommended.
      • connectionTimeToLive

        @Nullable
        @Pure
        public abstract java.lang.Integer connectionTimeToLive()
        Maximum milliseconds a connection should be allowed to remain open, regardless of usage frequency.

        This will never close a connection that is currently in use, so long-lived connections may remain open longer than this time.

      • socketTimeout

        @Nullable
        @Pure
        public abstract java.lang.Integer socketTimeout()
        Milliseconds to wait for data to be transferred over an established, open connection before the connection is timed out. A duration of 0 means infinity, and is not recommended.
      • readTimeout

        @Nullable
        @Pure
        public abstract java.lang.Integer readTimeout()
        Milliseconds to wait for a read on a socket before an exception is thrown. A duration of 0 means infinity, and is not recommended.

        Note: Read timeout is only supported for async clients and ignored otherwise. Use socketTimeout() instead.

      • writeTimeout

        @Nullable
        @Pure
        public abstract java.lang.Integer writeTimeout()
        Milliseconds to wait for a write on a socket before an exception is thrown. A duration of 0 means infinity, and is not recommended.

        Note: Write timeout is only supported for async clients and ignored otherwise. Use socketTimeout() instead.

      • maxConnections

        @Nullable
        @Pure
        public abstract java.lang.Integer maxConnections()
        The maximum number of connections allowed in the connection pool. Each client has its own private connection pool.

        For asynchronous clients using HTTP/1.1 this corresponds to the maximum number of allowed concurrent requests. When using HTTP/2 the number of connections that will be used depends on the max streams allowed per connection.