Class ConnectionPoolSettings

java.lang.Object
com.mongodb.connection.ConnectionPoolSettings

@Immutable public class ConnectionPoolSettings extends Object
All settings that relate to the pool of connections to a MongoDB server.
Since:
3.0
  • Method Details

    • builder

      public static ConnectionPoolSettings.Builder builder()
      Gets a Builder for creating a new ConnectionPoolSettings instance.
      Returns:
      a new Builder for ConnectionPoolSettings.
    • builder

      public static ConnectionPoolSettings.Builder builder(ConnectionPoolSettings connectionPoolSettings)
      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

      public long getMaxWaitTime(TimeUnit timeUnit)
      The maximum duration to wait until either: The reasons it is not always possible to create and start establishing a connection whenever there is no available connection:
      • 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

      public long getMaxConnectionLifeTime(TimeUnit timeUnit)
      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

      public long getMaxConnectionIdleTime(TimeUnit timeUnit)
      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

      public long getMaintenanceInitialDelay(TimeUnit timeUnit)
      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

      public long getMaintenanceFrequency(TimeUnit timeUnit)
      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

      public List<ConnectionPoolListener> getConnectionPoolListeners()
      Gets the list of added ConnectionPoolListener. 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 a ConnectionCreatedEvent and ending before a ConnectionReadyEvent.

      Default is 2.

      Returns:
      The maximum number of connections a pool may be establishing concurrently.
      Since:
      4.4
      See Also:
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object