Class SessionPoolOptions.Builder

public static class SessionPoolOptions.Builder

Builder for creating SessionPoolOptions.

Inheritance

java.lang.Object > SessionPoolOptions.Builder

Constructors

Builder()

public Builder()

Methods

build()

public SessionPoolOptions build()

Build a SessionPoolOption object

Returns
TypeDescription
SessionPoolOptions

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
TypeDescription
SessionPoolOptions.Builder

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
TypeDescription
SessionPoolOptions.Builder

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
NameDescription
intervalMinutesint
Returns
TypeDescription
SessionPoolOptions.Builder

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
NameDescription
maxIdleSessionsint
Returns
TypeDescription
SessionPoolOptions.Builder

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
NameDescription
maxSessionsint
Returns
TypeDescription
SessionPoolOptions.Builder

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
NameDescription
minSessionsint
Returns
TypeDescription
SessionPoolOptions.Builder

setRemoveInactiveSessionAfter(Duration duration)

public SessionPoolOptions.Builder setRemoveInactiveSessionAfter(Duration duration)
Parameter
NameDescription
durationorg.threeten.bp.Duration
Returns
TypeDescription
SessionPoolOptions.Builder

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
NameDescription
writeSessionsFractionfloat
Returns
TypeDescription
SessionPoolOptions.Builder