public class ThreadPoolManager extends Object
It is a singleton since threads need to be managed vm wide.
This manager forces you to use a bounded queue. By default it uses the current thread for execution when the buffer is full and no free threads can be created.
You can specify the props file to use or pass in a properties object prior to configuration. By default it looks for configuration information in thread_pool.properties.
If set, the Properties object will take precedence.
If a value is not set for a particular pool, the hard coded defaults will be used.
int boundarySize_DEFAULT = 2000; int maximumPoolSize_DEFAULT = 150; int minimumPoolSize_DEFAULT = 4; int keepAliveTime_DEFAULT = 1000 * 60 * 5; boolean abortWhenBlocked = false; String whenBlockedPolicy_DEFAULT = IPoolConfiguration.POLICY_RUN; int startUpSize_DEFAULT = 4;You can configure default settings by specifying a default pool in the properties, ie "cache.ccf"
Modifier and Type | Method and Description |
---|---|
static void |
dispose()
Dispose of the instance of the ThreadPoolManger and shut down all thread pools
|
static ThreadPoolManager |
getInstance()
Returns a configured instance of the ThreadPoolManger To specify a configuration file or
Properties object to use call the appropriate setter prior to calling getInstance.
|
ThreadPoolExecutor |
getPool(String name)
Returns a pool by name.
|
ArrayList<String> |
getPoolNames()
Returns the names of all configured pools.
|
static void |
setProps(Properties props)
This will be used if it is not null on initialization.
|
public static ThreadPoolManager getInstance()
public static void dispose()
public ThreadPoolExecutor getPool(String name)
Pools are lazily created.
name
- public ArrayList<String> getPoolNames()
public static void setProps(Properties props)
props
- The props to set.Copyright © 2002–2018 The Apache Software Foundation. All rights reserved.