public class ThreadPoolManager
extends java.lang.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 | Field and Description |
---|---|
static java.lang.String |
DEFAULT_PROPS_FILE_NAME
This is the default value.
|
Modifier and Type | Method and Description |
---|---|
protected void |
configure()
Intialize the ThreadPoolManager and create all the pools defined in the configuration.
|
static ThreadPoolManager |
getInstance()
Returns a configured instance of the ThreadPoolManger To specify a configuation file or
Properties object to use call the appropriate setter prior to calling getInstance.
|
ThreadPool |
getPool(java.lang.String name)
Returns a pool by name.
|
java.util.ArrayList |
getPoolNames()
Returns the names of all configured pools.
|
static java.util.Properties |
getProps() |
static java.lang.String |
getPropsFileName()
Returns the name of the properties file that we used to initialize the pools.
|
protected PoolConfiguration |
loadConfig(java.lang.String root)
Configures the default PoolConfiguration settings.
|
static void |
setProps(java.util.Properties props)
This will be used if it is not null on initialzation.
|
static void |
setPropsFileName(java.lang.String propsFileName)
Setting this post initialization will have no effect.
|
public static final java.lang.String DEFAULT_PROPS_FILE_NAME
public static ThreadPoolManager getInstance()
public ThreadPool getPool(java.lang.String name)
Pools are lazily created.
name
- public java.util.ArrayList getPoolNames()
public static void setPropsFileName(java.lang.String propsFileName)
propsFileName
- The propsFileName to set.public static java.lang.String getPropsFileName()
public static void setProps(java.util.Properties props)
props
- The props to set.public static java.util.Properties getProps()
protected void configure()
protected PoolConfiguration loadConfig(java.lang.String root)
root
- Copyright © 2002-2013 Apache Software Foundation. All Rights Reserved.