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 Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionvoidExecutes 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.voidSchedule the execution of a task in a thread pool.voidSchedule the execution of a task in a thread pool.voidsetConfig(ContextProperties config) voidshutdown()Shuts down all the pools 
- 
Constructor Details
- 
ThreadPools
public ThreadPools() 
 - 
 - 
Method Details
- 
setConfig
 - 
get
 - 
getPool
Gets 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
 - 
schedule
Schedule the execution of a task in a thread pool.- Parameters:
 task- The task to executepoolName- The name of the pooldelay- a delay expressed in milliseconds
 - 
schedule
Schedule the execution of a task in a thread pool.- Parameters:
 task- The task to executepoolName- The name of the pooldelay- a delay expressed in milliseconds
 - 
execute
Executes a task in the given pool.- Parameters:
 task- The task to executepoolName- The name of the pool
 - 
shutdown
@PreDestroy public void shutdown()Shuts down all the pools 
 -