Class ThreadPool

java.lang.Object
org.apache.commons.pool.BaseObjectPool<T>
org.apache.commons.pool.impl.GenericObjectPool
de.hybris.platform.util.threadpool.ThreadPool
All Implemented Interfaces:
AutoCloseable, org.apache.commons.pool.ObjectPool

public class ThreadPool extends org.apache.commons.pool.impl.GenericObjectPool implements AutoCloseable
A pool of Threads. The threads from this pool are used to launch the tasks.
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.apache.commons.pool.impl.GenericObjectPool

    org.apache.commons.pool.impl.GenericObjectPool.Config
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
     

    Fields inherited from class org.apache.commons.pool.impl.GenericObjectPool

    DEFAULT_LIFO, DEFAULT_MAX_ACTIVE, DEFAULT_MAX_IDLE, DEFAULT_MAX_WAIT, DEFAULT_MIN_EVICTABLE_IDLE_TIME_MILLIS, DEFAULT_MIN_IDLE, DEFAULT_NUM_TESTS_PER_EVICTION_RUN, DEFAULT_SOFT_MIN_EVICTABLE_IDLE_TIME_MILLIS, DEFAULT_TEST_ON_BORROW, DEFAULT_TEST_ON_RETURN, DEFAULT_TEST_WHILE_IDLE, DEFAULT_TIME_BETWEEN_EVICTION_RUNS_MILLIS, DEFAULT_WHEN_EXHAUSTED_ACTION, WHEN_EXHAUSTED_BLOCK, WHEN_EXHAUSTED_FAIL, WHEN_EXHAUSTED_GROW
  • Constructor Summary

    Constructors
    Constructor
    Description
    ThreadPool(String tenantID, int poolsize)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    final Object
     
     
    void
     
    static ThreadPool
     
    final void
     
    final void
     

    Methods inherited from class org.apache.commons.pool.impl.GenericObjectPool

    addObject, clear, evict, getLifo, getMaxActive, getMaxIdle, getMaxWait, getMinEvictableIdleTimeMillis, getMinIdle, getNumActive, getNumIdle, getNumTestsPerEvictionRun, getSoftMinEvictableIdleTimeMillis, getTestOnBorrow, getTestOnReturn, getTestWhileIdle, getTimeBetweenEvictionRunsMillis, getWhenExhaustedAction, invalidateObject, setConfig, setFactory, setLifo, setMaxActive, setMaxIdle, setMaxWait, setMinEvictableIdleTimeMillis, setMinIdle, setNumTestsPerEvictionRun, setSoftMinEvictableIdleTimeMillis, setTestOnBorrow, setTestOnReturn, setTestWhileIdle, setTimeBetweenEvictionRunsMillis, setWhenExhaustedAction, startEvictor

    Methods inherited from class org.apache.commons.pool.BaseObjectPool

    assertOpen, isClosed

    Methods inherited from class java.lang.Object

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

  • Constructor Details

    • ThreadPool

      public ThreadPool(String tenantID, int poolsize)
  • Method Details

    • getInstance

      public static ThreadPool getInstance()
    • borrowObject

      public final Object borrowObject()
      Specified by:
      borrowObject in interface org.apache.commons.pool.ObjectPool
      Overrides:
      borrowObject in class org.apache.commons.pool.impl.GenericObjectPool
    • returnObject

      public final void returnObject(Object thread) throws Exception
      Specified by:
      returnObject in interface org.apache.commons.pool.ObjectPool
      Overrides:
      returnObject in class org.apache.commons.pool.impl.GenericObjectPool
      Throws:
      Exception
    • returnThread

      public final void returnThread(PoolableThread thread) throws Exception
      Throws:
      Exception
    • borrowThread

      public final PoolableThread borrowThread()
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface org.apache.commons.pool.ObjectPool
      Overrides:
      close in class org.apache.commons.pool.impl.GenericObjectPool