Package com.complexible.stardog.api
Class ConnectionPoolConfig
- java.lang.Object
-
- com.complexible.common.pool.PoolConfig<Connection,StardogException>
-
- com.complexible.stardog.api.ConnectionPoolConfig
-
public final class ConnectionPoolConfig extends PoolConfig<Connection,StardogException>
A configuration object for creating connection pools.
- Since:
- 0.5.1
- Version:
- 2.0
- Author:
- Michael Grove
-
-
Field Summary
-
Fields inherited from class com.complexible.common.pool.PoolConfig
mConfig, mMinPool
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ConnectionPoolConfigblockAtCapacity(long theTime, java.util.concurrent.TimeUnit theUnit)Set the amount of time to wait to obtain an object.ConnectionPoolcreate()Create the PoolConnectionPoolConfigexpiration(long theTime, java.util.concurrent.TimeUnit theUnit)Specifes the minimum amount of time something should remain idle for before it is eligible to be expired.ConnectionPoolConfigfailAtCapacity()Configure the pool to fail to obtain an object if you are atPoolConfig.maxPool(int)objects.ConnectionPoolConfiggrowAtCapacity()Configure the pool to grow if it is atPoolConfig.maxPool(int)objects, effectively rendering the max moot.ConnectionPoolConfigmaxIdle(int theMaxIdle)The maximum number of objects which are allowed to sit idle in the pool.ConnectionPoolConfigmaxPool(int theMax)Set the maximum number of objects that can be active in the pool (leased or idle).ConnectionPoolConfigminPool(int theMin)Set the minimum size of the pool, ie, the number of objects to start with.ConnectionPoolConfignoExpiration()Set that entries should not timeout/expire while idlestatic ConnectionPoolConfigusing(ConnectionConfiguration theConfig)Create a new ConnectionPoolConfig for the provided ConnectionConfiguration.
-
-
-
Method Detail
-
using
public static ConnectionPoolConfig using(ConnectionConfiguration theConfig)
Create a new ConnectionPoolConfig for the provided ConnectionConfiguration. All objects in the ConnectionPool will be instantiated by the provided config.- Parameters:
theConfig- the configuration- Returns:
- a new ConnectionPoolConfig
-
maxIdle
public ConnectionPoolConfig maxIdle(int theMaxIdle)
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.- Overrides:
maxIdlein classPoolConfig<Connection,StardogException>- Parameters:
theMaxIdle- the max idle- Returns:
- this object
-
maxPool
public ConnectionPoolConfig maxPool(int theMax)
Set the maximum number of objects that can be active in the pool (leased or idle). The default is 1000- Overrides:
maxPoolin classPoolConfig<Connection,StardogException>- Parameters:
theMax- the max- Returns:
- this object
-
minPool
public ConnectionPoolConfig minPool(int theMin)
Set the minimum size of the pool, ie, the number of objects to start with. Default is 0.- Overrides:
minPoolin classPoolConfig<Connection,StardogException>- Parameters:
theMin- the min pool size- Returns:
- this object
-
growAtCapacity
public ConnectionPoolConfig growAtCapacity()
Configure the pool to grow if it is atPoolConfig.maxPool(int)objects, effectively rendering the max moot.- Overrides:
growAtCapacityin classPoolConfig<Connection,StardogException>- Returns:
- this object
-
failAtCapacity
public ConnectionPoolConfig failAtCapacity()
Configure the pool to fail to obtain an object if you are atPoolConfig.maxPool(int)objects.- Overrides:
failAtCapacityin classPoolConfig<Connection,StardogException>- Returns:
- this object
-
blockAtCapacity
public ConnectionPoolConfig blockAtCapacity(long theTime, java.util.concurrent.TimeUnit theUnit)
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).- Overrides:
blockAtCapacityin classPoolConfig<Connection,StardogException>- Parameters:
theTime- the time to waittheUnit- the unit of time- Returns:
- this object
-
noExpiration
public ConnectionPoolConfig noExpiration()
Set that entries should not timeout/expire while idle- Overrides:
noExpirationin classPoolConfig<Connection,StardogException>- Returns:
- this object
-
expiration
public ConnectionPoolConfig expiration(long theTime, java.util.concurrent.TimeUnit theUnit)
Specifes the minimum amount of time something should remain idle for before it is eligible to be expired. The default is 30 minutes- Overrides:
expirationin classPoolConfig<Connection,StardogException>- Parameters:
theTime- the amount of timetheUnit- the unit of time- Returns:
- this configuration
-
create
public ConnectionPool create()
Create the Pool- Specified by:
createin classPoolConfig<Connection,StardogException>- Returns:
- the pool
-
-