public interface PoolableObjectFactory<T>
限定符和类型 | 方法和说明 |
---|---|
void |
activateObject(T obj)
Reinitialize an instance to be returned by the pool.
|
void |
destroyObject(T obj)
Destroys an instance no longer needed by the pool.
|
T |
makeObject()
Creates an instance that can be served by the pool.
|
void |
passivateObject(T obj)
Uninitialize an instance to be returned to the idle object pool.
|
boolean |
validateObject(T obj)
Ensures that the instance is safe to be returned by the pool.
|
T makeObject() throws java.lang.Exception
activated
. They will not be
activated before being served by the pool.java.lang.Exception
- if there is a problem creating a new instance,
this will be propagated to the code requesting an object.void destroyObject(T 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.
obj
- the instance to be destroyedjava.lang.Exception
- should be avoided as it may be swallowed by
the pool implementation.validateObject(T)
,
ObjectPool.invalidateObject(T)
boolean validateObject(T obj)
false
if obj
should be destroyed.obj
- the instance to be validatedfalse
if obj
is not valid and should
be dropped from the pool, true
otherwise.void activateObject(T obj) throws java.lang.Exception
obj
- the instance to be activatedjava.lang.Exception
- if there is a problem activating obj
,
this exception may be swallowed by the pool.destroyObject(T)
void passivateObject(T obj) throws java.lang.Exception
obj
- the instance to be passivatedjava.lang.Exception
- if there is a problem passivating obj
,
this exception may be swallowed by the pool.destroyObject(T)