public interface KeyedPoolableObjectFactory<K,V>
限定符和类型 | 方法和说明 |
---|---|
void |
activateObject(K key,
V obj)
Reinitialize an instance to be returned by the pool.
|
void |
destroyObject(K key,
V obj)
Destroy an instance no longer needed by the pool.
|
V |
makeObject(K key)
Create an instance that can be served by the pool.
|
void |
passivateObject(K key,
V obj)
Uninitialize an instance to be returned to the idle object pool.
|
boolean |
validateObject(K key,
V obj)
Ensures that the instance is safe to be returned by the pool.
|
V makeObject(K key) throws java.lang.Exception
key
- the key used when constructing the objectjava.lang.Exception
- if there is a problem creating a new instance,
this will be propagated to the code requesting an object.void destroyObject(K key, V obj) throws java.lang.Exception
It is important for implementations of this method to be aware
that there is no guarantee about what state obj
will be in and the implementation should be prepared to handle
unexpected errors.
Also, an implementation must take in to consideration that instances lost to the garbage collector may never be destroyed.
key
- the key used when selecting the instanceobj
- the instance to be destroyedjava.lang.Exception
- should be avoided as it may be swallowed by
the pool implementation.validateObject(K, V)
,
KeyedObjectPool.invalidateObject(K, V)
boolean validateObject(K key, V obj)
false
if obj
should be destroyed.key
- the key used when selecting the objectobj
- the instance to be validatedfalse
if obj
is not valid and should
be dropped from the pool, true
otherwise.void activateObject(K key, V obj) throws java.lang.Exception
key
- the key used when selecting the objectobj
- the instance to be activatedjava.lang.Exception
- if there is a problem activating obj
,
this exception may be swallowed by the pool.destroyObject(K, V)
void passivateObject(K key, V obj) throws java.lang.Exception
key
- the key used when selecting the objectobj
- the instance to be passivatedjava.lang.Exception
- if there is a problem passivating obj
,
this exception may be swallowed by the pool.destroyObject(K, V)