Class 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

      All Methods Instance Methods Concrete Methods 
      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
    • Constructor Detail

      • 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 Detail

      • 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>