Package com.logicaldoc.core.threading
Class ThreadPools
java.lang.Object
com.logicaldoc.core.threading.ThreadPools
A factory for thread pools. Each pool has a name and the details are taken
 from the configuration in the following as follows:
 
 
- threadpool.pool_name.core: the number of threads to keep in the pool, even if they are idle (defalut value: 5)
- threadpool.pool_name.max: the maximum number of threads to allow in the pool (defalut value: 10)
- threadpool.pool_name.keepalive: this is the maximum time(in seconds) that excess idle threads will wait for new tasks before terminating (defalut value: 5)
- threadpool.pool_name.type: this is the type default or scheduled(default value: default), default means
- Since:
- 8.5.3
- Author:
- Marco Meschieri - LogicalDOC
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescription<T> Future<T> Executes a task in the given pool.static ThreadPoolsget()Gets a new thread pool and in case it does not exist a new one will be created and then cached.<T> Future<T> Schedule the execution of a task in a thread pool.voidshutdown()Shuts down all the pools
- 
Constructor Details- 
ThreadPoolspublic ThreadPools()
 
- 
- 
Method Details- 
get
- 
getPoolGets a new thread pool and in case it does not exist a new one will be created and then cached.- Parameters:
- name- the name of the new pool
- Returns:
- the created pool
- Throws:
- ThreadPoolNotAvailableException- Raised in case the pool has been shutdown
 
- 
scheduleSchedule the execution of a task in a thread pool.- Parameters:
- task- The task to execute
- poolName- The name of the pool
- delay- a delay expressed in milliseconds
 
- 
executeExecutes a task in the given pool.- Parameters:
- task- The task to execute
- poolName- The name of the pool
 
- 
shutdown@PreDestroy public void shutdown()Shuts down all the pools
 
-