An interface defining life-cycle methods for
instances to be served by a
KeyedObjectPool .
By contract, when an KeyedObjectPool
delegates to a KeyedPoolableObjectFactory,
makeObject
is called whenever a new instance is needed.
activateObject
is invoked on every instance before it is returned from the
pool.
passivateObject
is invoked on every instance when it is returned to the
pool.
destroyObject
is invoked on every instance when it is being "dropped" from the
pool (whether due to the response from
validateObject , or
for reasons specific to the pool implementation.)
validateObject
is invoked in an implementation-specific fashion to determine if an instance
is still valid to be returned by the pool.
It will only be invoked on an "activated"
instance.
By contract, when an KeyedObjectPool delegates to a KeyedPoolableObjectFactory,