|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
A "keyed" pooling interface.
A keyed pool pools instances of multiple types. Each type may be accessed using an arbitrary key.
Example of use:
Object obj = null; Object key = "Key"; try { obj = pool.borrowObject(key); //...use the object... } catch(Exception e) { //...handle any exceptions... } finally { // make sure the object is returned to the pool if(null != obj) { pool.returnObject(key,obj); } } |
KeyedObjectPool
implementations may choose to store at most
one instance per key value, or may choose to maintain a pool of instances
for each key (essentially creating a Map
of
pools
).
KeyedPoolableObjectFactory
,
KeyedObjectPoolFactory
,
ObjectPool
Method Summary | |
Object |
borrowObject(Object key)
Obtain an instance from my pool for the specified key. |
void |
clear()
Clears my pool, removing all pooled instances (optional operation). |
void |
clear(Object key)
Clears the specified pool, removing all pooled instances corresponding to the given key (optional operation). |
void |
close()
Close this pool, and free any resources associated with it. |
int |
getNumActive()
Returns the total number of instances current borrowed from my pool but not yet returned (optional operation). |
int |
getNumActive(Object key)
Returns the number of instances currently borrowed from but not yet returned to my pool corresponding to the given key (optional operation). |
int |
getNumIdle()
Returns the total number of instances currently idle in my pool (optional operation). |
int |
getNumIdle(Object key)
Returns the number of instances corresponding to the given key currently idle in my pool (optional operation). |
void |
returnObject(Object key,
Object obj)
Return an instance to my pool. |
void |
setFactory(KeyedPoolableObjectFactory factory)
Sets the factory I use
to create new instances (optional operation). |
Method Detail |
public Object borrowObject(Object key) throws Exception
returnObject
,
or a related method as defined in an implementation
or sub-interface,
using a key that is equivalent to the one used to
borrow the instance in the first place.
key
- the key used to obtain the object
Exception
public void clear() throws Exception, UnsupportedOperationException
UnsupportedOperationException
if the pool cannot be cleared.
UnsupportedOperationException
- when this implementation doesn't support the operation
Exception
public void clear(Object key) throws Exception, UnsupportedOperationException
UnsupportedOperationException
if the pool cannot be cleared.
key
- the key to clear
UnsupportedOperationException
- when this implementation doesn't support the operation
Exception
public void close() throws Exception
Exception
public int getNumActive() throws UnsupportedOperationException
UnsupportedOperationException
if this information is not available.
UnsupportedOperationException
- when this implementation doesn't support the operationpublic int getNumActive(Object key) throws UnsupportedOperationException
UnsupportedOperationException
if this information is not available.
key
- the key
UnsupportedOperationException
- when this implementation doesn't support the operationpublic int getNumIdle() throws UnsupportedOperationException
UnsupportedOperationException
if this information is not available.
UnsupportedOperationException
- when this implementation doesn't support the operationpublic int getNumIdle(Object key) throws UnsupportedOperationException
UnsupportedOperationException
if this information is not available.
key
- the key
UnsupportedOperationException
- when this implementation doesn't support the operationpublic void returnObject(Object key, Object obj) throws Exception
borrowObject
or a related method as defined in an implementation
or sub-interface,
using a key that is equivalent to the one used to
borrow the Object in the first place.
key
- the key used to obtain the objectobj
- a borrowed
instance to be returned.
Exception
public void setFactory(KeyedPoolableObjectFactory factory) throws IllegalStateException, UnsupportedOperationException
factory
I use
to create new instances (optional operation).
factory
- the KeyedPoolableObjectFactory
I use to create new instances.
IllegalStateException
- when the factory cannot be set at this time
UnsupportedOperationException
- when this implementation doesn't support the operation
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |