Class SafeStrictConnPool

java.lang.Object
org.apache.hc.core5.pool.StrictConnPool<org.apache.hc.client5.http.HttpRoute,org.apache.hc.client5.http.io.ManagedHttpClientConnection>
software.amazon.awssdk.http.apache5.internal.conn.SafeStrictConnPool
All Implemented Interfaces:
Closeable, AutoCloseable, org.apache.hc.core5.io.ModalCloseable, org.apache.hc.core5.pool.ConnPool<org.apache.hc.client5.http.HttpRoute,org.apache.hc.client5.http.io.ManagedHttpClientConnection>, org.apache.hc.core5.pool.ConnPoolControl<org.apache.hc.client5.http.HttpRoute>, org.apache.hc.core5.pool.ConnPoolStats<org.apache.hc.client5.http.HttpRoute>, org.apache.hc.core5.pool.ManagedConnPool<org.apache.hc.client5.http.HttpRoute,org.apache.hc.client5.http.io.ManagedHttpClientConnection>

@SdkInternalApi public final class SafeStrictConnPool extends org.apache.hc.core5.pool.StrictConnPool<org.apache.hc.client5.http.HttpRoute,org.apache.hc.client5.http.io.ManagedHttpClientConnection>
Specialization of StrictConnPool that prevents leaking the connection when thread waiting on the future is interrupted.
  • Constructor Summary

    Constructors
    Constructor
    Description
    SafeStrictConnPool(int defaultMaxPerRoute, int maxTotal, org.apache.hc.core5.util.TimeValue timeToLive, org.apache.hc.core5.pool.PoolReusePolicy policy, org.apache.hc.core5.pool.DisposalCallback<org.apache.hc.client5.http.io.ManagedHttpClientConnection> disposalCallback, org.apache.hc.core5.pool.ConnPoolListener<org.apache.hc.client5.http.HttpRoute> connPoolListener)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    Future<org.apache.hc.core5.pool.PoolEntry<org.apache.hc.client5.http.HttpRoute,org.apache.hc.client5.http.io.ManagedHttpClientConnection>>
    lease(org.apache.hc.client5.http.HttpRoute route, Object state, org.apache.hc.core5.util.Timeout requestTimeout, org.apache.hc.core5.concurrent.FutureCallback<org.apache.hc.core5.pool.PoolEntry<org.apache.hc.client5.http.HttpRoute,org.apache.hc.client5.http.io.ManagedHttpClientConnection>> callback)
     

    Methods inherited from class org.apache.hc.core5.pool.StrictConnPool

    close, close, closeExpired, closeIdle, enumAvailable, enumLeased, getDefaultMaxPerRoute, getMaxPerRoute, getMaxTotal, getRoutes, getStats, getTotalStats, isShutdown, lease, release, setDefaultMaxPerRoute, setMaxPerRoute, setMaxTotal, toString, validatePendingRequests

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • SafeStrictConnPool

      public SafeStrictConnPool(int defaultMaxPerRoute, int maxTotal, org.apache.hc.core5.util.TimeValue timeToLive, org.apache.hc.core5.pool.PoolReusePolicy policy, org.apache.hc.core5.pool.DisposalCallback<org.apache.hc.client5.http.io.ManagedHttpClientConnection> disposalCallback, org.apache.hc.core5.pool.ConnPoolListener<org.apache.hc.client5.http.HttpRoute> connPoolListener)
  • Method Details

    • lease

      public Future<org.apache.hc.core5.pool.PoolEntry<org.apache.hc.client5.http.HttpRoute,org.apache.hc.client5.http.io.ManagedHttpClientConnection>> lease(org.apache.hc.client5.http.HttpRoute route, Object state, org.apache.hc.core5.util.Timeout requestTimeout, org.apache.hc.core5.concurrent.FutureCallback<org.apache.hc.core5.pool.PoolEntry<org.apache.hc.client5.http.HttpRoute,org.apache.hc.client5.http.io.ManagedHttpClientConnection>> callback)
      Specified by:
      lease in interface org.apache.hc.core5.pool.ConnPool<org.apache.hc.client5.http.HttpRoute,org.apache.hc.client5.http.io.ManagedHttpClientConnection>
      Overrides:
      lease in class org.apache.hc.core5.pool.StrictConnPool<org.apache.hc.client5.http.HttpRoute,org.apache.hc.client5.http.io.ManagedHttpClientConnection>