|
||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface KeyedObjectPool
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 | |
---|---|
void |
addObject(java.lang.Object key)
Create an object using my factory or other
implementation dependent mechanism, and place it into the pool. |
java.lang.Object |
borrowObject(java.lang.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(java.lang.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(java.lang.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(java.lang.Object key)
Returns the number of instances corresponding to the given key currently idle in my pool (optional operation). |
void |
invalidateObject(java.lang.Object key,
java.lang.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
using a key that is equivalent to the one used to
borrow the Object in the first place. |
void |
returnObject(java.lang.Object key,
java.lang.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 |
---|
void addObject(java.lang.Object key) throws java.lang.Exception
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).
java.lang.Exception
java.lang.Object borrowObject(java.lang.Object key) throws java.lang.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
java.lang.Exception
void clear() throws java.lang.Exception, java.lang.UnsupportedOperationException
UnsupportedOperationException
if the pool cannot be cleared.
java.lang.UnsupportedOperationException
- when this implementation doesn't support the operation
java.lang.Exception
void clear(java.lang.Object key) throws java.lang.Exception, java.lang.UnsupportedOperationException
UnsupportedOperationException
if the pool cannot be cleared.
key
- the key to clear
java.lang.UnsupportedOperationException
- when this implementation doesn't support the operation
java.lang.Exception
void close() throws java.lang.Exception
java.lang.Exception
int getNumActive() throws java.lang.UnsupportedOperationException
UnsupportedOperationException
if this information is not available.
java.lang.UnsupportedOperationException
- when this implementation doesn't support the operationint getNumActive(java.lang.Object key) throws java.lang.UnsupportedOperationException
UnsupportedOperationException
if this information is not available.
key
- the key
java.lang.UnsupportedOperationException
- when this implementation doesn't support the operationint getNumIdle() throws java.lang.UnsupportedOperationException
UnsupportedOperationException
if this information is not available.
java.lang.UnsupportedOperationException
- when this implementation doesn't support the operationint getNumIdle(java.lang.Object key) throws java.lang.UnsupportedOperationException
UnsupportedOperationException
if this information is not available.
key
- the key
java.lang.UnsupportedOperationException
- when this implementation doesn't support the operationvoid invalidateObject(java.lang.Object key, java.lang.Object obj) throws java.lang.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.
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(java.lang.Object)
method should be
used instead.
obj
- a borrowed
instance to be returned.
java.lang.Exception
void returnObject(java.lang.Object key, java.lang.Object obj) throws java.lang.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.
java.lang.Exception
void setFactory(KeyedPoolableObjectFactory factory) throws java.lang.IllegalStateException, java.lang.UnsupportedOperationException
factory
I use
to create new instances (optional operation).
factory
- the KeyedPoolableObjectFactory
I use to create new instances.
java.lang.IllegalStateException
- when the factory cannot be set at this time
java.lang.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 |