Class IdleConnectionEvictor

java.lang.Object
org.apache.hc.client5.http.impl.IdleConnectionEvictor

@Contract(threading=SAFE_CONDITIONAL) public final class IdleConnectionEvictor extends Object
This class maintains a background thread to enforce an eviction policy for expired / idle persistent connections kept alive in the connection pool.
Since:
4.4
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static final org.apache.hc.core5.util.TimeValue
     
    private static final org.apache.hc.core5.util.TimeValue
     
    private final Thread
     
    private final ThreadFactory
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    IdleConnectionEvictor(org.apache.hc.core5.pool.ConnPoolControl<?> connectionManager, ThreadFactory threadFactory, org.apache.hc.core5.util.TimeValue sleepTime, org.apache.hc.core5.util.TimeValue maxIdleTime)
     
    IdleConnectionEvictor(org.apache.hc.core5.pool.ConnPoolControl<?> connectionManager, org.apache.hc.core5.util.TimeValue maxIdleTime)
     
    IdleConnectionEvictor(org.apache.hc.core5.pool.ConnPoolControl<?> connectionManager, org.apache.hc.core5.util.TimeValue sleepTime, org.apache.hc.core5.util.TimeValue maxIdleTime)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    awaitTermination(org.apache.hc.core5.util.Timeout timeout)
     
    (package private) static org.apache.hc.core5.util.TimeValue
    calculateSleepTime(org.apache.hc.core5.util.TimeValue maxIdleTime)
     
    boolean
     
    void
     
    void
     

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • ONE_SECOND

      private static final org.apache.hc.core5.util.TimeValue ONE_SECOND
    • ONE_MINUTE

      private static final org.apache.hc.core5.util.TimeValue ONE_MINUTE
    • threadFactory

      private final ThreadFactory threadFactory
    • thread

      private final Thread thread
  • Constructor Details

    • IdleConnectionEvictor

      public IdleConnectionEvictor(org.apache.hc.core5.pool.ConnPoolControl<?> connectionManager, ThreadFactory threadFactory, org.apache.hc.core5.util.TimeValue sleepTime, org.apache.hc.core5.util.TimeValue maxIdleTime)
    • IdleConnectionEvictor

      public IdleConnectionEvictor(org.apache.hc.core5.pool.ConnPoolControl<?> connectionManager, org.apache.hc.core5.util.TimeValue sleepTime, org.apache.hc.core5.util.TimeValue maxIdleTime)
    • IdleConnectionEvictor

      public IdleConnectionEvictor(org.apache.hc.core5.pool.ConnPoolControl<?> connectionManager, org.apache.hc.core5.util.TimeValue maxIdleTime)
  • Method Details

    • start

      public void start()
    • shutdown

      public void shutdown()
    • isRunning

      public boolean isRunning()
    • awaitTermination

      public void awaitTermination(org.apache.hc.core5.util.Timeout timeout) throws InterruptedException
      Throws:
      InterruptedException
    • calculateSleepTime

      static org.apache.hc.core5.util.TimeValue calculateSleepTime(org.apache.hc.core5.util.TimeValue maxIdleTime)