org.apache.commons.pool
Interface ObjectPool
- BaseObjectPool, GenericObjectPool, SoftReferenceObjectPool, StackObjectPool
public interface ObjectPool
A pooling interface.
ObjectPool
defines a trivially simple pooling interface. The only
required methods are
borrowObject
and
returnObject
.
Example of use:
Object obj = null;
try {
obj = pool.borrowObject();
//...use the object...
} catch(Exception e) {
//...handle any exceptions...
} finally {
// make sure the object is returned to the pool
if(null != obj) {
pool.returnObject(obj);
}
} |
See
BaseObjectPool
for a simple base implementation.
$Revision: 155430 $ $Date: 2005-02-26 08:13:28 -0500 (Sat, 26 Feb 2005) $ void | addObject() - Create an object using my
factory or other
implementation dependent mechanism, and place it into the pool.
|
Object | borrowObject() - Obtain an instance from my pool.
|
void | clear() - Clears any objects sitting idle in the pool, releasing any
associated resources (optional operation).
|
void | close() - Close this pool, and free any resources associated with it.
|
int | getNumActive() - Return the number of instances
currently borrowed from my pool
(optional operation).
|
int | getNumIdle() - Return the number of instances
currently idle in my pool (optional operation).
|
void | invalidateObject(Object obj) - Invalidates an object from the pool
By contract, obj MUST have been obtained
using
borrowObject
or a related method as defined in an implementation
or sub-interface.
|
void | returnObject(Object obj) - Return an instance to my pool.
|
void | setFactory(PoolableObjectFactory factory) - Sets the
factory I use
to create new instances (optional operation).
|
addObject
public void addObject()
throws Exception
Create an object using my
factory
or other
implementation dependent mechanism, and place it into the pool.
addObject() is useful for "pre-loading" a pool with idle objects.
(Optional operation).
borrowObject
public Object borrowObject()
throws Exception
Obtain an instance from my pool.
By contract, clients MUST return
the borrowed instance using
returnObject
or a related method as defined in an implementation
or sub-interface.
The behaviour of this method when the pool has been exhausted
is not specified (although it may be specified by implementations).
- an instance from my pool.
clear
public void clear()
throws Exception,
UnsupportedOperationException
Clears any objects sitting idle in the pool, releasing any
associated resources (optional operation).
close
public void close()
throws Exception
Close this pool, and free any resources associated with it.
getNumActive
public int getNumActive()
throws UnsupportedOperationException
Return the number of instances
currently borrowed from my pool
(optional operation).
- the number of instances currently borrowed in my pool
getNumIdle
public int getNumIdle()
throws UnsupportedOperationException
Return the number of instances
currently idle in my pool (optional operation).
This may be considered an approximation of the number
of objects that can be
borrowed
without creating any new instances.
- the number of instances currently idle in my pool
invalidateObject
public void invalidateObject(Object obj)
throws Exception
Invalidates an object from the pool
By contract,
obj MUST have been obtained
using
borrowObject
or a related method as defined in an implementation
or sub-interface.
This method should be used when an object that has been borrowed
is determined (due to an exception or other problem) to be invalid.
If the connection should be validated before or after borrowing,
then the
PoolableObjectFactory.validateObject(Object)
method should be
used instead.
obj
- a borrowed
instance to be returned.
returnObject
public void returnObject(Object obj)
throws Exception
Return an instance to my pool.
By contract,
obj MUST have been obtained
using
borrowObject
or a related method as defined in an implementation
or sub-interface.
obj
- a borrowed
instance to be returned.
setFactory
public void setFactory(PoolableObjectFactory factory)
throws IllegalStateException,
UnsupportedOperationException
Sets the
factory
I use
to create new instances (optional operation).
Copyright © 2001-2003 Apache Software Foundation. Documenation generated September 26 2006.