Package com.complexible.common.pool
Class PoolConfig<T,E extends Exception>
java.lang.Object
com.complexible.common.pool.PoolConfig<T,E>
- Direct Known Subclasses:
ApachePoolConfig,ConnectionPoolConfig
Abstract configuration for a Pool
- Since:
- 0.5.1
- Version:
- 0.7
- Author:
- Michael Grove
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionPoolConfig<T, E> blockAtCapacity(long theTime, TimeUnit theUnit) Set the amount of time to wait to obtain an object.create()Create the PoolPoolConfig<T, E> expiration(long theTime, TimeUnit theUnit) Specifes the minimum amount of time something should remain idle for before it is eligible to be expired.PoolConfig<T, E> Configure the pool to fail to obtain an object if you are atmaxPool(int)objects.PoolConfig<T, E> Configure the pool to grow if it is atmaxPool(int)objects, effectively rendering the max moot.PoolConfig<T, E> maxIdle(int theMaxIdle) The maximum number of objects which are allowed to sit idle in the pool.PoolConfig<T, E> maxPool(int theMax) Set the maximum number of objects that can be active in the pool (leased or idle).PoolConfig<T, E> minPool(int theMin) Set the minimum size of the pool, ie, the number of objects to start with.PoolConfig<T, E> Set that entries should not timeout/expire while idle
-
Field Details
-
mMinPool
protected int mMinPool -
mConfig
protected final org.apache.commons.pool.impl.GenericObjectPool.Config mConfig
-
-
Constructor Details
-
PoolConfig
protected PoolConfig()
-
-
Method Details
-
maxIdle
The maximum number of objects which are allowed to sit idle in the pool. The default is -1, which means there is no limit of idle objects.- Parameters:
theMaxIdle- the max idle- Returns:
- this object
-
maxPool
Set the maximum number of objects that can be active in the pool (leased or idle). The default is 1000- Parameters:
theMax- the max- Returns:
- this object
-
minPool
Set the minimum size of the pool, ie, the number of objects to start with. Default is 0.- Parameters:
theMin- the min pool size- Returns:
- this object
-
growAtCapacity
Configure the pool to grow if it is atmaxPool(int)objects, effectively rendering the max moot.- Returns:
- this object
-
failAtCapacity
Configure the pool to fail to obtain an object if you are atmaxPool(int)objects.- Returns:
- this object
-
blockAtCapacity
Set the amount of time to wait to obtain an object. This will havePool.obtain()block the specified amount of time until an object can be obtained. If the max is reached, obtain will return null. The default is that it will block indefinitely (-1 value for theTime).- Parameters:
theTime- the time to waittheUnit- the unit of time- Returns:
- this object
-
noExpiration
Set that entries should not timeout/expire while idle- Returns:
- this object
-
expiration
Specifes the minimum amount of time something should remain idle for before it is eligible to be expired. The default is 30 minutes- Parameters:
theTime- the amount of timetheUnit- the unit of time- Returns:
- this configuration
-
create
Create the Pool- Returns:
- the pool
-