public final class VariableSizePool
extends java.lang.Object
implements org.apache.excalibur.mpool.Pool, org.apache.avalon.framework.activity.Disposable, org.apache.excalibur.mpool.ManagablePool
Pool that caches Poolable objects for reuse.
Please note that this pool offers no resource limiting whatsoever.| Modifier and Type | Field and Description |
|---|---|
private org.apache.commons.collections.Buffer |
m_buffer |
private boolean |
m_disposed |
private org.apache.excalibur.mpool.ObjectFactory |
m_factory |
private long |
m_key |
| Constructor and Description |
|---|
VariableSizePool(org.apache.excalibur.mpool.ObjectFactory factory,
int size)
Constructor for an unmanaged pool
|
VariableSizePool(org.apache.excalibur.mpool.ObjectFactory factory,
int size,
long key)
Constructor for a managed pool
|
private boolean m_disposed
private final org.apache.commons.collections.Buffer m_buffer
private final org.apache.excalibur.mpool.ObjectFactory m_factory
private final long m_key
public VariableSizePool(org.apache.excalibur.mpool.ObjectFactory factory,
int size)
throws java.lang.Exception
java.lang.Exceptionpublic VariableSizePool(org.apache.excalibur.mpool.ObjectFactory factory,
int size,
long key)
throws java.lang.Exception
java.lang.Exceptionpublic java.lang.Object acquire()
throws java.lang.Exception
acquire in interface org.apache.excalibur.mpool.Pooljava.lang.Exceptionpublic void release(java.lang.Object pooledObject)
release in interface org.apache.excalibur.mpool.Poolpublic java.lang.Object newInstance()
throws java.lang.Exception
newInstance in interface org.apache.excalibur.mpool.Pooljava.lang.Exceptionpublic void dispose()
dispose in interface org.apache.avalon.framework.activity.Disposablepublic void shrink(int byNum,
long key)
throws java.lang.IllegalAccessException
shrink in interface org.apache.excalibur.mpool.ManagablePooljava.lang.IllegalAccessExceptionpublic void grow(int byNum,
long key)
throws java.lang.IllegalAccessException
grow in interface org.apache.excalibur.mpool.ManagablePooljava.lang.IllegalAccessExceptionpublic int size(long key)
throws java.lang.IllegalAccessException
size in interface org.apache.excalibur.mpool.ManagablePooljava.lang.IllegalAccessException