public abstract class AbstractPool
extends org.apache.avalon.framework.logger.AbstractLogEnabled
implements org.apache.avalon.excalibur.pool.Pool, org.apache.avalon.framework.thread.ThreadSafe
Pool that caches Poolable objects for reuse.| Modifier and Type | Field and Description |
|---|---|
static int |
DEFAULT_POOL_SIZE |
protected java.util.List |
m_active |
protected org.apache.avalon.excalibur.pool.ObjectFactory |
m_factory |
protected boolean |
m_initialized |
protected int |
m_min |
protected EDU.oswego.cs.dl.util.concurrent.Mutex |
m_mutex |
protected org.apache.commons.collections.Buffer |
m_ready |
| Constructor and Description |
|---|
AbstractPool(org.apache.avalon.excalibur.pool.ObjectFactory factory)
Create an AbstractPool.
|
| Modifier and Type | Method and Description |
|---|---|
abstract org.apache.avalon.excalibur.pool.Poolable |
get() |
protected void |
initialize() |
protected void |
internalGrow(int amount) |
protected void |
internalShrink(int amount) |
protected void |
lock() |
protected org.apache.avalon.excalibur.pool.Poolable |
newPoolable()
This is the method to override when you need to enforce creational
policies.
|
abstract void |
put(org.apache.avalon.excalibur.pool.Poolable object) |
protected void |
removePoolable(org.apache.avalon.excalibur.pool.Poolable poolable)
This is the method to override when you need to enforce destructional
policies.
|
int |
size() |
protected void |
unlock() |
public static final int DEFAULT_POOL_SIZE
protected final org.apache.avalon.excalibur.pool.ObjectFactory m_factory
protected java.util.List m_active
protected org.apache.commons.collections.Buffer m_ready
protected EDU.oswego.cs.dl.util.concurrent.Mutex m_mutex
protected boolean m_initialized
protected int m_min
public AbstractPool(org.apache.avalon.excalibur.pool.ObjectFactory factory)
throws java.lang.Exception
java.lang.Exceptionprotected void initialize()
throws java.lang.Exception
java.lang.Exceptionprotected final void lock()
throws java.lang.InterruptedException
java.lang.InterruptedExceptionprotected final void unlock()
throws java.lang.InterruptedException
java.lang.InterruptedExceptionprotected org.apache.avalon.excalibur.pool.Poolable newPoolable()
throws java.lang.Exception
java.lang.Exceptionprotected void removePoolable(org.apache.avalon.excalibur.pool.Poolable poolable)
public final int size()
public abstract org.apache.avalon.excalibur.pool.Poolable get()
throws java.lang.Exception
get in interface org.apache.avalon.excalibur.pool.Pooljava.lang.Exceptionpublic abstract void put(org.apache.avalon.excalibur.pool.Poolable object)
put in interface org.apache.avalon.excalibur.pool.Poolprotected void internalGrow(int amount)
throws java.lang.Exception
java.lang.Exceptionprotected void internalShrink(int amount)
throws java.lang.Exception
java.lang.Exception