Package io.vertx.sqlclient
Class PoolOptions
- java.lang.Object
-
- io.vertx.sqlclient.PoolOptions
-
public class PoolOptions extends Object
The options for configuring a connection pool.- Author:
- Julien Viet
-
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_CONNECTION_TIMEOUTDefault connection timeout in the pool = 30 secondsstatic TimeUnitDEFAULT_CONNECTION_TIMEOUT_TIME_UNITDefault connection idle time unit in the pool = secondsstatic intDEFAULT_EVENT_LOOP_SIZEDefault pool event loop size = 0 (reuse current event-loop)static intDEFAULT_IDLE_TIMEOUTDefault connection timeout in the pool = 0 (no timeout)static TimeUnitDEFAULT_IDLE_TIMEOUT_TIME_UNITDefault connection idle time unit in the pool = secondsstatic intDEFAULT_MAX_SIZEThe default maximum number of connections a client will pool = 4static intDEFAULT_MAX_WAIT_QUEUE_SIZEDefault max wait queue size = -1 (unbounded)static intDEFAULT_MAXIMUM_LIFETIMEDefault maximum pooled connection lifetime = 0 (no maximum)static TimeUnitDEFAULT_MAXIMUM_LIFETIME_TIME_UNITDefault maximum pooled connection lifetime unit = secondsstatic StringDEFAULT_NAMEActual name of anonymous shared pool =__vertx.DEFAULTstatic intDEFAULT_POOL_CLEANER_PERIODDefault pool cleaner period = 1000 ms (1 second)static booleanDEFAULT_SHARED_POOLDefault shared pool config =false
-
Constructor Summary
Constructors Constructor Description PoolOptions()PoolOptions(JsonObject json)PoolOptions(PoolOptions other)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object o)intgetConnectionTimeout()TimeUnitgetConnectionTimeoutUnit()intgetEventLoopSize()intgetIdleTimeout()TimeUnitgetIdleTimeoutUnit()intgetMaxLifetime()TimeUnitgetMaxLifetimeUnit()intgetMaxSize()intgetMaxWaitQueueSize()StringgetName()intgetPoolCleanerPeriod()inthashCode()booleanisShared()PoolOptionssetConnectionTimeout(int timeout)Set the amount of time a client will wait for a connection from the pool.PoolOptionssetConnectionTimeoutUnit(TimeUnit timeoutUnit)Set the time unit ofsetConnectionTimeout(int)PoolOptionssetEventLoopSize(int eventLoopSize)Set the number of event-loop the pool use.PoolOptionssetIdleTimeout(int idleTimeout)Establish an idle timeout for pooled connections, a value of zero disables the idle timeout.PoolOptionssetIdleTimeoutUnit(TimeUnit idleTimeoutUnit)Establish an idle timeout unit for pooled connections.PoolOptionssetMaxLifetime(int maxLifetime)Establish a max lifetime for pooled connections, a value of zero disables the maximum lifetime.PoolOptionssetMaxLifetimeUnit(TimeUnit maxLifetimeUnit)Establish a max lifetime unit for pooled connections.PoolOptionssetMaxSize(int maxSize)Set the maximum pool sizePoolOptionssetMaxWaitQueueSize(int maxWaitQueueSize)Set the maximum connection request allowed in the wait queue, any requests beyond the max size will result in an failure.PoolOptionssetName(String name)Set the pool name, used when the pool shared, otherwise ignored.PoolOptionssetPoolCleanerPeriod(int poolCleanerPeriod)Set the connection pool cleaner period in milli seconds, a non positive value disables expiration checks and connections will remain in the pool until they are closed.PoolOptionssetShared(boolean shared)Set totrueto share the pool.JsonObjecttoJson()
-
-
-
Field Detail
-
DEFAULT_MAX_SIZE
public static final int DEFAULT_MAX_SIZE
The default maximum number of connections a client will pool = 4- See Also:
- Constant Field Values
-
DEFAULT_MAX_WAIT_QUEUE_SIZE
public static final int DEFAULT_MAX_WAIT_QUEUE_SIZE
Default max wait queue size = -1 (unbounded)- See Also:
- Constant Field Values
-
DEFAULT_IDLE_TIMEOUT
public static final int DEFAULT_IDLE_TIMEOUT
Default connection timeout in the pool = 0 (no timeout)- See Also:
- Constant Field Values
-
DEFAULT_MAXIMUM_LIFETIME
public static final int DEFAULT_MAXIMUM_LIFETIME
Default maximum pooled connection lifetime = 0 (no maximum)- See Also:
- Constant Field Values
-
DEFAULT_IDLE_TIMEOUT_TIME_UNIT
public static final TimeUnit DEFAULT_IDLE_TIMEOUT_TIME_UNIT
Default connection idle time unit in the pool = seconds
-
DEFAULT_MAXIMUM_LIFETIME_TIME_UNIT
public static final TimeUnit DEFAULT_MAXIMUM_LIFETIME_TIME_UNIT
Default maximum pooled connection lifetime unit = seconds
-
DEFAULT_POOL_CLEANER_PERIOD
public static final int DEFAULT_POOL_CLEANER_PERIOD
Default pool cleaner period = 1000 ms (1 second)- See Also:
- Constant Field Values
-
DEFAULT_CONNECTION_TIMEOUT
public static final int DEFAULT_CONNECTION_TIMEOUT
Default connection timeout in the pool = 30 seconds- See Also:
- Constant Field Values
-
DEFAULT_CONNECTION_TIMEOUT_TIME_UNIT
public static final TimeUnit DEFAULT_CONNECTION_TIMEOUT_TIME_UNIT
Default connection idle time unit in the pool = seconds
-
DEFAULT_SHARED_POOL
public static final boolean DEFAULT_SHARED_POOL
Default shared pool config =false- See Also:
- Constant Field Values
-
DEFAULT_NAME
public static final String DEFAULT_NAME
Actual name of anonymous shared pool =__vertx.DEFAULT- See Also:
- Constant Field Values
-
DEFAULT_EVENT_LOOP_SIZE
public static final int DEFAULT_EVENT_LOOP_SIZE
Default pool event loop size = 0 (reuse current event-loop)- See Also:
- Constant Field Values
-
-
Constructor Detail
-
PoolOptions
public PoolOptions()
-
PoolOptions
public PoolOptions(JsonObject json)
-
PoolOptions
public PoolOptions(PoolOptions other)
-
-
Method Detail
-
getMaxSize
public int getMaxSize()
- Returns:
- the maximum pool size
-
setMaxSize
public PoolOptions setMaxSize(int maxSize)
Set the maximum pool size- Parameters:
maxSize- the maximum pool size- Returns:
- a reference to this, so the API can be used fluently
-
getMaxWaitQueueSize
public int getMaxWaitQueueSize()
- Returns:
- the maximum wait queue size
-
setMaxWaitQueueSize
public PoolOptions setMaxWaitQueueSize(int maxWaitQueueSize)
Set the maximum connection request allowed in the wait queue, any requests beyond the max size will result in an failure. If the value is set to a negative number then the queue will be unbounded.- Parameters:
maxWaitQueueSize- the maximum number of waiting requests- Returns:
- a reference to this, so the API can be used fluently
-
getIdleTimeoutUnit
public TimeUnit getIdleTimeoutUnit()
- Returns:
- the pooled connection idle timeout unit
-
setIdleTimeoutUnit
public PoolOptions setIdleTimeoutUnit(TimeUnit idleTimeoutUnit)
Establish an idle timeout unit for pooled connections.- Parameters:
idleTimeoutUnit- pooled connection idle time unit- Returns:
- a reference to this, so the API can be used fluently
-
getIdleTimeout
public int getIdleTimeout()
- Returns:
- pooled connection idle timeout
-
setIdleTimeout
public PoolOptions setIdleTimeout(int idleTimeout)
Establish an idle timeout for pooled connections, a value of zero disables the idle timeout.- Parameters:
idleTimeout- the pool connection idle timeout- Returns:
- a reference to this, so the API can be used fluently
-
getMaxLifetimeUnit
public TimeUnit getMaxLifetimeUnit()
- Returns:
- the pooled connection max lifetime unit
-
setMaxLifetimeUnit
public PoolOptions setMaxLifetimeUnit(TimeUnit maxLifetimeUnit)
Establish a max lifetime unit for pooled connections.- Parameters:
maxLifetimeUnit- pooled connection max lifetime unit- Returns:
- a reference to this, so the API can be used fluently
-
getMaxLifetime
public int getMaxLifetime()
- Returns:
- pooled connection max lifetime
-
setMaxLifetime
public PoolOptions setMaxLifetime(int maxLifetime)
Establish a max lifetime for pooled connections, a value of zero disables the maximum lifetime.- Parameters:
maxLifetime- the pool connection max lifetime- Returns:
- a reference to this, so the API can be used fluently
-
getPoolCleanerPeriod
public int getPoolCleanerPeriod()
- Returns:
- the connection pool cleaner period in ms.
-
setPoolCleanerPeriod
public PoolOptions setPoolCleanerPeriod(int poolCleanerPeriod)
Set the connection pool cleaner period in milli seconds, a non positive value disables expiration checks and connections will remain in the pool until they are closed.- Parameters:
poolCleanerPeriod- the pool cleaner period- Returns:
- a reference to this, so the API can be used fluently
-
getConnectionTimeoutUnit
public TimeUnit getConnectionTimeoutUnit()
- Returns:
- the time unit of @link #setConnectionTimeout(int)}
-
setConnectionTimeoutUnit
public PoolOptions setConnectionTimeoutUnit(TimeUnit timeoutUnit)
Set the time unit ofsetConnectionTimeout(int)- Parameters:
timeoutUnit- the time unit- Returns:
- a reference to this, so the API can be used fluently
-
getConnectionTimeout
public int getConnectionTimeout()
- Returns:
- the amount of time a client will wait for a connection from the pool. See
setConnectionTimeout(int)
-
setConnectionTimeout
public PoolOptions setConnectionTimeout(int timeout)
Set the amount of time a client will wait for a connection from the pool. If the time is exceeded without a connection available, an exception is provided.- Parameters:
timeout- the pool connection idle time unit- Returns:
- a reference to this, so the API can be used fluently
-
isShared
public boolean isShared()
- Returns:
- whether the pool is shared
-
setShared
public PoolOptions setShared(boolean shared)
Set totrueto share the pool.There can be multiple shared pools distinguished by
getName(), when no specific name is set, theDEFAULT_NAMEis used.- Parameters:
shared-trueto use a shared pool- Returns:
- a reference to this, so the API can be used fluently
-
getName
public String getName()
- Returns:
- the pool name
-
setName
public PoolOptions setName(String name)
Set the pool name, used when the pool shared, otherwise ignored.- Parameters:
name- the new name- Returns:
- a reference to this, so the API can be used fluently
-
getEventLoopSize
public int getEventLoopSize()
- Returns:
- the max number of event-loop a pool will use, the default value is
0which implies to reuse the current event-loop
-
setEventLoopSize
public PoolOptions setEventLoopSize(int eventLoopSize)
Set the number of event-loop the pool use.- when the size is
0, the client pool will use the current event-loop - otherwise the client will create and use its own event loop
0.- Parameters:
eventLoopSize- the new size- Returns:
- a reference to this, so the API can be used fluently
- when the size is
-
toJson
public JsonObject toJson()
-
-