Package org.apache.commons.pool
Class PoolUtils.KeyedObjectPoolAdaptor<K,V>
- java.lang.Object
-
- org.apache.commons.pool.PoolUtils.KeyedObjectPoolAdaptor<K,V>
-
- All Implemented Interfaces:
KeyedObjectPool<K,V>
- Enclosing class:
- PoolUtils
private static class PoolUtils.KeyedObjectPoolAdaptor<K,V> extends java.lang.Object implements KeyedObjectPool<K,V>
Adapts an ObjectPool to implement KeyedObjectPool by ignoring key arguments.
-
-
Field Summary
Fields Modifier and Type Field Description private ObjectPool<V>poolUnderlying pool
-
Constructor Summary
Constructors Constructor Description KeyedObjectPoolAdaptor(ObjectPool<V> pool)Create a new KeyedObjectPoolAdaptor wrapping the given ObjectPool
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddObject(K key)Add an object to the pool, ignoring the keyVborrowObject(K key)Borrow and object from the pool, ignoring the keyvoidclear()Clears the pool, removing all pooled instances (optional operation).voidclear(K key)Clear the pool, ignoring the key (has same effect asclear().voidclose()Close this pool, and free any resources associated with it.intgetNumActive()Returns the total number of instances current borrowed from this pool but not yet returned (optional operation).intgetNumActive(K key)Return the number of objects checked out from the pool, ignoring the key.intgetNumIdle()Returns the total number of instances currently idle in this pool (optional operation).intgetNumIdle(K key)Return the number of objects idle in the pool, ignoring the key.voidinvalidateObject(K key, V obj)Invalidate and object, ignoring the keyvoidreturnObject(K key, V obj)Return and object to the pool, ignoring the keyvoidsetFactory(KeyedPoolableObjectFactory<K,V> factory)Deprecated.to be removed in version 2.0java.lang.StringtoString()
-
-
-
Field Detail
-
pool
private final ObjectPool<V> pool
Underlying pool
-
-
Constructor Detail
-
KeyedObjectPoolAdaptor
KeyedObjectPoolAdaptor(ObjectPool<V> pool) throws java.lang.IllegalArgumentException
Create a new KeyedObjectPoolAdaptor wrapping the given ObjectPool- Parameters:
pool- underlying object pool- Throws:
java.lang.IllegalArgumentException- if pool is null
-
-
Method Detail
-
borrowObject
public V borrowObject(K key) throws java.lang.Exception, java.util.NoSuchElementException, java.lang.IllegalStateException
Borrow and object from the pool, ignoring the key- Specified by:
borrowObjectin interfaceKeyedObjectPool<K,V>- Parameters:
key- ignored- Returns:
- newly created object instance
- Throws:
java.lang.IllegalStateException- afterclosehas been called on this pooljava.lang.Exception- whenmakeObjectthrows an exceptionjava.util.NoSuchElementException- when the pool is exhausted and cannot or will not return another instance
-
returnObject
public void returnObject(K key, V obj)
Return and object to the pool, ignoring the key- Specified by:
returnObjectin interfaceKeyedObjectPool<K,V>- Parameters:
key- ignoredobj- object to return
-
invalidateObject
public void invalidateObject(K key, V obj)
Invalidate and object, ignoring the key- Specified by:
invalidateObjectin interfaceKeyedObjectPool<K,V>- Parameters:
obj- object to invalidatekey- ignored
-
addObject
public void addObject(K key) throws java.lang.Exception, java.lang.IllegalStateException
Add an object to the pool, ignoring the key- Specified by:
addObjectin interfaceKeyedObjectPool<K,V>- Parameters:
key- ignored- Throws:
java.lang.Exception- whenKeyedPoolableObjectFactory.makeObject(K)fails.java.lang.IllegalStateException- afterKeyedObjectPool.close()has been called on this pool.java.lang.UnsupportedOperationException- when this pool cannot add new idle objects.
-
getNumIdle
public int getNumIdle(K key) throws java.lang.UnsupportedOperationException
Return the number of objects idle in the pool, ignoring the key.- Specified by:
getNumIdlein interfaceKeyedObjectPool<K,V>- Parameters:
key- ignored- Returns:
- idle instance count
- Throws:
java.lang.UnsupportedOperationException- deprecated: when this implementation doesn't support the operation
-
getNumActive
public int getNumActive(K key) throws java.lang.UnsupportedOperationException
Return the number of objects checked out from the pool, ignoring the key.- Specified by:
getNumActivein interfaceKeyedObjectPool<K,V>- Parameters:
key- ignored- Returns:
- active instance count
- Throws:
java.lang.UnsupportedOperationException- deprecated: when this implementation doesn't support the operation
-
getNumIdle
public int getNumIdle() throws java.lang.UnsupportedOperationExceptionReturns the total number of instances currently idle in this pool (optional operation). Returns a negative value if this information is not available.- Specified by:
getNumIdlein interfaceKeyedObjectPool<K,V>- Returns:
- the total number of instances currently idle in this pool or a negative value if unsupported
- Throws:
java.lang.UnsupportedOperationException- deprecated: when this implementation doesn't support the operation
-
getNumActive
public int getNumActive() throws java.lang.UnsupportedOperationExceptionReturns the total number of instances current borrowed from this pool but not yet returned (optional operation). Returns a negative value if this information is not available.- Specified by:
getNumActivein interfaceKeyedObjectPool<K,V>- Returns:
- the total number of instances currently borrowed from this pool or a negative value if unsupported
- Throws:
java.lang.UnsupportedOperationException- deprecated: when this implementation doesn't support the operation
-
clear
public void clear() throws java.lang.Exception, java.lang.UnsupportedOperationExceptionClears the pool, removing all pooled instances (optional operation). ThrowsUnsupportedOperationExceptionif the pool cannot be cleared.- Specified by:
clearin interfaceKeyedObjectPool<K,V>- Throws:
java.lang.UnsupportedOperationException- when this implementation doesn't support the operationjava.lang.Exception
-
clear
public void clear(K key) throws java.lang.Exception, java.lang.UnsupportedOperationException
Clear the pool, ignoring the key (has same effect asclear().- Specified by:
clearin interfaceKeyedObjectPool<K,V>- Parameters:
key- ignored.- Throws:
java.lang.UnsupportedOperationException- when this implementation doesn't support the operationjava.lang.Exception
-
close
public void close()
Close this pool, and free any resources associated with it.Calling
addObjectorborrowObjectafter invoking this method on a pool will cause them to throw anIllegalStateException.- Specified by:
closein interfaceKeyedObjectPool<K,V>
-
setFactory
@Deprecated public void setFactory(KeyedPoolableObjectFactory<K,V> factory) throws java.lang.IllegalStateException, java.lang.UnsupportedOperationException
Deprecated.to be removed in version 2.0Sets the factory used to manage objects.- Specified by:
setFactoryin interfaceKeyedObjectPool<K,V>- Parameters:
factory- new factory to use managing object instances- Throws:
java.lang.IllegalStateException- when the factory cannot be set at this timejava.lang.UnsupportedOperationException- when this implementation doesn't support the operation
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-