org.apache.avalon.excalibur.pool
Class HardResourceLimitingPool

java.lang.Object
  extended by org.apache.avalon.framework.logger.AbstractLogEnabled
      extended by org.apache.avalon.excalibur.pool.AbstractPool
          extended by org.apache.avalon.excalibur.pool.DefaultPool
              extended by org.apache.avalon.excalibur.pool.SoftResourceLimitingPool
                  extended by org.apache.avalon.excalibur.pool.HardResourceLimitingPool
All Implemented Interfaces:
org.apache.avalon.excalibur.pool.Pool, org.apache.avalon.excalibur.pool.Resizable, org.apache.avalon.framework.activity.Disposable, org.apache.avalon.framework.activity.Initializable, org.apache.avalon.framework.logger.LogEnabled, org.apache.avalon.framework.thread.ThreadSafe

public class HardResourceLimitingPool
extends SoftResourceLimitingPool
implements org.apache.avalon.framework.thread.ThreadSafe, org.apache.avalon.framework.activity.Initializable

This is a implementation of Pool that is thread safe.

Since:
4.0
Version:
CVS $Revision: 1.6 $ $Date: 2004/03/29 16:50:37 $
Author:
Avalon Development Team

Field Summary
 
Fields inherited from class org.apache.avalon.excalibur.pool.DefaultPool
m_controller, m_disposed, m_max, m_min, m_quickFail
 
Fields inherited from class org.apache.avalon.excalibur.pool.AbstractPool
DEFAULT_POOL_SIZE, m_active, m_factory, m_initialized, m_mutex, m_ready
 
Constructor Summary
HardResourceLimitingPool(java.lang.Class clazz, int initial)
           
HardResourceLimitingPool(java.lang.Class clazz, int initial, int maximum)
           
HardResourceLimitingPool(org.apache.avalon.excalibur.pool.ObjectFactory factory)
           
HardResourceLimitingPool(org.apache.avalon.excalibur.pool.ObjectFactory factory, int initial)
           
HardResourceLimitingPool(org.apache.avalon.excalibur.pool.ObjectFactory factory, int initial, int maximum)
           
HardResourceLimitingPool(org.apache.avalon.excalibur.pool.ObjectFactory factory, org.apache.avalon.excalibur.pool.PoolController controller)
           
HardResourceLimitingPool(org.apache.avalon.excalibur.pool.ObjectFactory factory, org.apache.avalon.excalibur.pool.PoolController controller, int max)
           
HardResourceLimitingPool(org.apache.avalon.excalibur.pool.ObjectFactory factory, org.apache.avalon.excalibur.pool.PoolController controller, int initial, int max)
           
 
Method Summary
 void initialize()
           
protected  void internalGrow(int amount)
           
protected  org.apache.avalon.excalibur.pool.Poolable newPoolable()
          This is the method to override when you need to enforce creational policies.
 
Methods inherited from class org.apache.avalon.excalibur.pool.SoftResourceLimitingPool
grow, shrink
 
Methods inherited from class org.apache.avalon.excalibur.pool.DefaultPool
dispose, get, put
 
Methods inherited from class org.apache.avalon.excalibur.pool.AbstractPool
internalShrink, lock, removePoolable, size, unlock
 
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HardResourceLimitingPool

public HardResourceLimitingPool(org.apache.avalon.excalibur.pool.ObjectFactory factory,
                                org.apache.avalon.excalibur.pool.PoolController controller)
                         throws java.lang.Exception
Throws:
java.lang.Exception

HardResourceLimitingPool

public HardResourceLimitingPool(org.apache.avalon.excalibur.pool.ObjectFactory factory,
                                org.apache.avalon.excalibur.pool.PoolController controller,
                                int max)
                         throws java.lang.Exception
Throws:
java.lang.Exception

HardResourceLimitingPool

public HardResourceLimitingPool(org.apache.avalon.excalibur.pool.ObjectFactory factory,
                                org.apache.avalon.excalibur.pool.PoolController controller,
                                int initial,
                                int max)
                         throws java.lang.Exception
Throws:
java.lang.Exception

HardResourceLimitingPool

public HardResourceLimitingPool(org.apache.avalon.excalibur.pool.ObjectFactory factory)
                         throws java.lang.Exception
Throws:
java.lang.Exception

HardResourceLimitingPool

public HardResourceLimitingPool(org.apache.avalon.excalibur.pool.ObjectFactory factory,
                                int initial,
                                int maximum)
                         throws java.lang.Exception
Throws:
java.lang.Exception

HardResourceLimitingPool

public HardResourceLimitingPool(org.apache.avalon.excalibur.pool.ObjectFactory factory,
                                int initial)
                         throws java.lang.Exception
Throws:
java.lang.Exception

HardResourceLimitingPool

public HardResourceLimitingPool(java.lang.Class clazz,
                                int initial,
                                int maximum)
                         throws java.lang.NoSuchMethodException,
                                java.lang.Exception
Throws:
java.lang.NoSuchMethodException
java.lang.Exception

HardResourceLimitingPool

public HardResourceLimitingPool(java.lang.Class clazz,
                                int initial)
                         throws java.lang.NoSuchMethodException,
                                java.lang.Exception
Throws:
java.lang.NoSuchMethodException
java.lang.Exception
Method Detail

initialize

public void initialize()
Specified by:
initialize in interface org.apache.avalon.framework.activity.Initializable
Overrides:
initialize in class SoftResourceLimitingPool

newPoolable

protected org.apache.avalon.excalibur.pool.Poolable newPoolable()
                                                         throws java.lang.Exception
Description copied from class: AbstractPool
This is the method to override when you need to enforce creational policies.

Overrides:
newPoolable in class AbstractPool
Throws:
java.lang.Exception

internalGrow

protected void internalGrow(int amount)
                     throws java.lang.Exception
Overrides:
internalGrow in class AbstractPool
Throws:
java.lang.Exception