Package com.mongodb.connection
Class ConnectionPoolSettings
java.lang.Object
com.mongodb.connection.ConnectionPoolSettings
All settings that relate to the pool of connections to a MongoDB server.
- Since:
- 3.0
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
A builder for creating ConnectionPoolSettings. -
Method Summary
Modifier and TypeMethodDescriptionbuilder()
Gets a Builder for creating a new ConnectionPoolSettings instance.builder
(ConnectionPoolSettings connectionPoolSettings) Gets a Builder for creating a new ConnectionPoolSettings instance.boolean
Gets the list of addedConnectionPoolListener
.long
getMaintenanceFrequency
(TimeUnit timeUnit) Returns the time period between runs of the maintenance job.long
getMaintenanceInitialDelay
(TimeUnit timeUnit) Returns the period of time to wait before running the first maintenance job on the connection pool.int
The maximum number of connections a pool may be establishing concurrently.long
getMaxConnectionIdleTime
(TimeUnit timeUnit) Returns the maximum idle time of a pooled connection.long
getMaxConnectionLifeTime
(TimeUnit timeUnit) The maximum time a pooled connection can live for.int
The maximum number of connections allowed.long
getMaxWaitTime
(TimeUnit timeUnit) The maximum duration to wait until either: an in-use connection becomes available; or a connection is created and begins to be established.int
The minimum number of connections.int
hashCode()
toString()
-
Method Details
-
builder
Gets a Builder for creating a new ConnectionPoolSettings instance.- Returns:
- a new Builder for ConnectionPoolSettings.
-
builder
Gets a Builder for creating a new ConnectionPoolSettings instance.- Parameters:
connectionPoolSettings
- the existing connection pool settings to configure the builder with- Returns:
- a new Builder for ConnectionPoolSettings
- Since:
- 3.5
-
getMaxSize
public int getMaxSize()The maximum number of connections allowed. Those connections will be kept in the pool when idle. Once the pool is exhausted, any operation requiring a connection will block waiting for an available connection.
Default is 100.
- Returns:
- the maximum number of connections in the pool; if 0, then there is no limit.
- See Also:
-
getMinSize
public int getMinSize()The minimum number of connections. Those connections will be kept in the pool when idle, and the pool will ensure that it contains at least this minimum number.
Default is 0.
- Returns:
- the minimum number of connections to have in the pool at all times.
-
getMaxWaitTime
The maximum duration to wait until either:- an in-use connection becomes available; or
-
a connection is created and begins to be established.
The time between requesting a connection
and it being created is limited by this maximum duration.
The maximum time between it being created and successfully checked out,
which includes the time to establish the created connection,
is affected by
SocketSettings.getConnectTimeout(TimeUnit)
,SocketSettings.getReadTimeout(TimeUnit)
among others, and is not affected by this maximum duration.
-
the number of connections per pool is limited by
getMaxSize()
; -
the number of connections a pool may be establishing concurrently is limited by
getMaxConnecting()
.
Default is 2 minutes. A value of 0 means that it will not wait. A negative value means it will wait indefinitely.
- Parameters:
timeUnit
- the TimeUnit for this wait period- Returns:
- the maximum amount of time to wait in the given TimeUnits
- See Also:
-
getMaxConnectionLifeTime
The maximum time a pooled connection can live for. A zero value indicates no limit to the life time. A pooled connection that has exceeded its life time will be closed and replaced when necessary by a new connection.- Parameters:
timeUnit
- the TimeUnit to use for this time period- Returns:
- the maximum length of time a connection can live in the given TimeUnits
-
getMaxConnectionIdleTime
Returns the maximum idle time of a pooled connection. A zero value indicates no limit to the idle time. A pooled connection that has exceeded its idle time will be closed and replaced when necessary by a new connection.- Parameters:
timeUnit
- the TimeUnit to use for this time period- Returns:
- the maximum time a connection can be unused, in the given TimeUnits
-
getMaintenanceInitialDelay
Returns the period of time to wait before running the first maintenance job on the connection pool.- Parameters:
timeUnit
- the TimeUnit to use for this time period- Returns:
- the time period to wait in the given units
-
getMaintenanceFrequency
Returns the time period between runs of the maintenance job.- Parameters:
timeUnit
- the TimeUnit to use for this time period- Returns:
- the time period between runs of the maintenance job in the given units
-
getConnectionPoolListeners
Gets the list of addedConnectionPoolListener
. The default is an empty list.- Returns:
- the unmodifiable list of connection pool listeners
- Since:
- 3.5
-
getMaxConnecting
public int getMaxConnecting()The maximum number of connections a pool may be establishing concurrently. Establishment of a connection is a part of its life cycle starting after aConnectionCreatedEvent
and ending before aConnectionReadyEvent
.Default is 2.
- Returns:
- The maximum number of connections a pool may be establishing concurrently.
- Since:
- 4.4
- See Also:
-
equals
-
hashCode
public int hashCode() -
toString
-