org.apache.commons.pool
public interface ObjectPool
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); } } |
BaseObjectPool
for a simple base implementation.
Version: $Revision: 155430 $ $Date: 2005-02-26 08:13:28 -0500 (Sat, 26 Feb 2005) $
Method Summary | |
---|---|
void | addObject()
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.
|
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). |
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). 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).
Returns: an instance from my pool.
Throws: UnsupportedOperationException if this implementation does not support the operation
Returns: the number of instances currently borrowed in my pool
Throws: UnsupportedOperationException if this implementation does not support the operation
borrowed
without creating any new instances.
Returns: the number of instances currently idle in my pool
Throws: UnsupportedOperationException if this implementation does not support the operation
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 method should be used instead.
Parameters: obj a borrowed
instance to be returned.
borrowObject
or a related method as defined in an implementation
or sub-interface.
Parameters: obj a borrowed
instance to be returned.
factory
I use
to create new instances (optional operation).Parameters: factory the PoolableObjectFactory I use to create new instances.
Throws: IllegalStateException when the factory cannot be set at this time UnsupportedOperationException if this implementation does not support the operation