org.apache.jcs.utils.threadpool
Class ThreadPoolManager

java.lang.Object
  extended byorg.apache.jcs.utils.threadpool.ThreadPoolManager

public class ThreadPoolManager
extends java.lang.Object

This manages threadpools for an application using Doug Lea's Util Concurrent package. http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html It is a singleton since threads need to be managed vm wide. This managers force you to use a bounded queue. By default it uses the current thread for execuion 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 = 75; int maximumPoolSize_DEFAULT = 150; int minimumPoolSize_DEFAULT = 4; int keepAliveTime_DEFAULT = 1000 * 60 * 5; boolean abortWhenBlocked = false; int startUpSize_DEFAULT = 4; You can configure default settings by specifying a default pool in the properties, ie "cache.ccf"

Author:
Aaron Smuts

Method Summary
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()
           
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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public 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.

Returns:

getPool

public ThreadPool getPool(java.lang.String name)
Returns a pool by name. If a pool by this name does not exist in the configuration file or properties, one will be created using the default values. Pools are lazily created.

Parameters:
name -
Returns:

getPoolNames

public java.util.ArrayList getPoolNames()
returns the names of all configured pools.

Returns:
ArrayList of string names

setPropsFileName

public static void setPropsFileName(java.lang.String propsFileName)
Setting this post initialization will have no effect.

Parameters:
propsFileName - The propsFileName to set.

getPropsFileName

public static java.lang.String getPropsFileName()
Returns:
Returns the propsFileName.

setProps

public static void setProps(java.util.Properties props)
This will be used if it is not null on initialzation. Setting this post initialization will have no effect.

Parameters:
props - The props to set.

getProps

public static java.util.Properties getProps()
Returns:
Returns the props.


Copyright © 2002-2005 Apache Software Foundation. All Rights Reserved.