public abstract class BaseKeyedObjectPool<K,V> extends java.lang.Object implements KeyedObjectPool<K,V>
构造器和说明 |
---|
BaseKeyedObjectPool() |
限定符和类型 | 方法和说明 |
---|---|
void |
addObject(K key)
Not supported in this base implementation.
|
abstract V |
borrowObject(K key)
Obtains an instance from this pool for the specified
key . |
void |
clear()
Not supported in this base implementation.
|
void |
clear(K key)
Not supported in this base implementation.
|
void |
close()
Close this pool.
|
int |
getNumActive()
Not supported in this base implementation.
|
int |
getNumActive(K key)
Not supported in this base implementation.
|
int |
getNumIdle()
Not supported in this base implementation.
|
int |
getNumIdle(K key)
Not supported in this base implementation.
|
abstract void |
invalidateObject(K key,
V obj)
Invalidates an object from the pool.
|
abstract void |
returnObject(K key,
V obj)
Return an instance to the pool.
|
void |
setFactory(KeyedPoolableObjectFactory<K,V> factory)
已过时。
to be removed in pool 2.0
|
public abstract V borrowObject(K key) throws java.lang.Exception
key
.
Instances returned from this method will have been either newly created with
makeObject
or will be a previously idle object and
have been activated with activateObject
and
then validated with validateObject
.
By contract, clients must return the borrowed object using
returnObject
, invalidateObject
, 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.
The behaviour of this method when the pool has been exhausted
is not strictly specified (although it may be specified by implementations).
Older versions of this method would return null
to indicate exhaustion,
newer versions are encouraged to throw a NoSuchElementException
.
borrowObject
在接口中 KeyedObjectPool<K,V>
key
- the key used to obtain the objectjava.lang.IllegalStateException
- after close
has been called on this pooljava.lang.Exception
- when makeObject
throws an exceptionjava.util.NoSuchElementException
- when the pool is exhausted and cannot or will not return another instancepublic abstract void returnObject(K key, V obj) throws java.lang.Exception
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 instance in the first place.returnObject
在接口中 KeyedObjectPool<K,V>
key
- the key used to obtain the objectobj
- a borrowed
instance to be returned.java.lang.Exception
- Exceptionpublic abstract void invalidateObject(K key, V obj) throws java.lang.Exception
Invalidates an object from the pool.
By contract, obj
must have been obtained
using borrowObject
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.
invalidateObject
在接口中 KeyedObjectPool<K,V>
key
- the key used to obtain the objectobj
- a borrowed
instance to be returned.java.lang.Exception
- Exceptionpublic void addObject(K key) throws java.lang.Exception, java.lang.UnsupportedOperationException
UnsupportedOperationException
,
subclasses should override this behavior.addObject
在接口中 KeyedObjectPool<K,V>
key
- ignoredjava.lang.UnsupportedOperationException
- UnsupportedOperationExceptionjava.lang.Exception
- when KeyedPoolableObjectFactory.makeObject(K)
fails.java.lang.IllegalStateException
- after KeyedObjectPool.close()
has been called on this pool.public int getNumIdle(K key) throws java.lang.UnsupportedOperationException
getNumIdle
在接口中 KeyedObjectPool<K,V>
key
- ignoredjava.lang.UnsupportedOperationException
- deprecated: when this implementation doesn't support the operationpublic int getNumActive(K key) throws java.lang.UnsupportedOperationException
getNumActive
在接口中 KeyedObjectPool<K,V>
key
- ignoredjava.lang.UnsupportedOperationException
- deprecated: when this implementation doesn't support the operationpublic int getNumIdle() throws java.lang.UnsupportedOperationException
getNumIdle
在接口中 KeyedObjectPool<K,V>
java.lang.UnsupportedOperationException
- deprecated: when this implementation doesn't support the operationpublic int getNumActive() throws java.lang.UnsupportedOperationException
getNumActive
在接口中 KeyedObjectPool<K,V>
java.lang.UnsupportedOperationException
- deprecated: when this implementation doesn't support the operationpublic void clear() throws java.lang.Exception, java.lang.UnsupportedOperationException
clear
在接口中 KeyedObjectPool<K,V>
java.lang.UnsupportedOperationException
- UnsupportedOperationExceptionjava.lang.Exception
- Exceptionpublic void clear(K key) throws java.lang.Exception, java.lang.UnsupportedOperationException
clear
在接口中 KeyedObjectPool<K,V>
key
- ignoredjava.lang.UnsupportedOperationException
- UnsupportedOperationExceptionjava.lang.Exception
- Exceptionpublic void close() throws java.lang.Exception
isClosed
and assertOpen
.close
在接口中 KeyedObjectPool<K,V>
java.lang.Exception
- Exception@Deprecated public void setFactory(KeyedPoolableObjectFactory<K,V> factory) throws java.lang.IllegalStateException, java.lang.UnsupportedOperationException
UnsupportedOperationException
,
subclasses should override this behavior.setFactory
在接口中 KeyedObjectPool<K,V>
factory
- the new KeyedPoolableObjectFactoryjava.lang.IllegalStateException
- when the factory cannot be set at this timejava.lang.UnsupportedOperationException
- when this implementation doesn't support the operation