public static class SessionPoolOptions.Builder
Builder for creating SessionPoolOptions.
Constructors
Builder()
Methods
build()
public SessionPoolOptions build()
Build a SessionPoolOption object
Returns
setBlockIfPoolExhausted()
public SessionPoolOptions.Builder setBlockIfPoolExhausted()
If all sessions are in use and there is no more room for creating new sessions, block for a
session to become available. Default behavior is same.
Returns
setFailIfPoolExhausted()
public SessionPoolOptions.Builder setFailIfPoolExhausted()
If all sessions are in use and and maxSessions
has been reached, fail the request by
throwing a SpannerException with the error code RESOURCE_EXHAUSTED
. Default
behavior is to block the request.
Returns
setKeepAliveIntervalMinutes(int intervalMinutes)
public SessionPoolOptions.Builder setKeepAliveIntervalMinutes(int intervalMinutes)
How frequently to keep alive idle sessions. This should be less than 60 since an idle session
is automatically closed after 60 minutes. Sessions will be kept alive by sending a dummy
query "Select 1". Default value is 30 minutes.
Parameter
Name | Description |
intervalMinutes | int
|
Returns
setMaxIdleSessions(int maxIdleSessions) (deprecated)
public SessionPoolOptions.Builder setMaxIdleSessions(int maxIdleSessions)
Deprecated. set a higher value for #setMinSessions(int) instead of using this
configuration option. This option will be removed in a future release.
Maximum number of idle sessions that this pool will maintain. Pool will close any sessions
beyond this but making sure to always have at least as many sessions as specified by #setMinSessions. To determine how many sessions are idle we look at maximum number of
sessions used concurrently over a window of time. Any sessions beyond that are idle. Defaults
to 0.
Parameter
Name | Description |
maxIdleSessions | int
|
Returns
setMaxSessions(int maxSessions)
public SessionPoolOptions.Builder setMaxSessions(int maxSessions)
Maximum number of sessions that this pool will have. If current numbers of sessions in the
pool is less than this and they are all busy, then a new session will be created for any new
operation. If current number of in use sessions is same as this and a new request comes, pool
can either block or fail. Defaults to 400.
Parameter
Name | Description |
maxSessions | int
|
Returns
setMinSessions(int minSessions)
public SessionPoolOptions.Builder setMinSessions(int minSessions)
Minimum number of sessions that this pool will always maintain. These will be created eagerly
in parallel. Defaults to 100.
Parameter
Name | Description |
minSessions | int
|
Returns
setRemoveInactiveSessionAfter(Duration duration)
public SessionPoolOptions.Builder setRemoveInactiveSessionAfter(Duration duration)
Parameter
Name | Description |
duration | org.threeten.bp.Duration
|
Returns
setWriteSessionsFraction(float writeSessionsFraction) (deprecated)
public SessionPoolOptions.Builder setWriteSessionsFraction(float writeSessionsFraction)
Deprecated. This configuration value is no longer in use. The session pool does not prepare
any sessions for read/write transactions. Instead, a transaction will automatically be
started by the first statement that is executed by a transaction by including a
BeginTransaction option with that statement.
This method may be removed in a future release.
Parameter
Name | Description |
writeSessionsFraction | float
|
Returns