Class ClusterSettings.Builder

    • Method Detail

      • applySettings

        public ClusterSettings.Builder applySettings(ClusterSettings clusterSettings)
        Applies the clusterSettings to the builder

        Note: Overwrites all existing settings

        Parameters:
        clusterSettings - the clusterSettings
        Returns:
        this
        Since:
        3.7
      • srvHost

        public ClusterSettings.Builder srvHost(String srvHost)
        Sets the host name to use in order to look up an SRV DNS record to find the MongoDB hosts.

        Note that when setting srvHost via ClusterSettings.Builder, the driver will NOT process any associated TXT records associated with the host. In order to enable the processing of TXT records while still using MongoClientSettings, specify the SRV host via connection string and apply the connection string to the settings, e.g. MongoClientSettings.builder().applyConnectionString(new ConnectionString("mongodb+srv://host1.acme.com")) .

        Parameters:
        srvHost - the SRV host name
        Returns:
        this
        See Also:
        MongoClientSettings.Builder.applyConnectionString(ConnectionString), applyConnectionString(ConnectionString)
      • hosts

        public ClusterSettings.Builder hosts(List<ServerAddress> hosts)
        Sets the hosts for the cluster. Any duplicate server addresses are removed from the list.
        Parameters:
        hosts - the seed list of hosts
        Returns:
        this
      • requiredReplicaSetName

        public ClusterSettings.Builder requiredReplicaSetName(String requiredReplicaSetName)
        Sets the required replica set name for the cluster.
        Parameters:
        requiredReplicaSetName - the required replica set name.
        Returns:
        this
      • requiredClusterType

        public ClusterSettings.Builder requiredClusterType(ClusterType requiredClusterType)
        Sets the required cluster type for the cluster.
        Parameters:
        requiredClusterType - the required cluster type
        Returns:
        this
      • localThreshold

        public ClusterSettings.Builder localThreshold(long localThreshold,
                                                      TimeUnit timeUnit)
        Sets the local threshold.
        Parameters:
        localThreshold - the acceptable latency difference, in milliseconds, which must be >= 0
        timeUnit - the time unit
        Returns:
        this
        Throws:
        IllegalArgumentException - if localThreshold < 0
        Since:
        3.7
      • serverSelectionTimeout

        public ClusterSettings.Builder serverSelectionTimeout(long serverSelectionTimeout,
                                                              TimeUnit timeUnit)
        Sets the timeout to apply when selecting a server. If the timeout expires before a server is found to handle a request, a MongoTimeoutException will be thrown. The default value is 30 seconds.

        A value of 0 means that it will timeout immediately if no server is available. A negative value means to wait indefinitely.

        Parameters:
        serverSelectionTimeout - the timeout
        timeUnit - the time unit
        Returns:
        this
      • maxWaitQueueSize

        @Deprecated
        public ClusterSettings.Builder maxWaitQueueSize(int maxWaitQueueSize)
        Deprecated.
        in the next major release, wait queue size limitations will be removed

        This is the maximum number of concurrent operations allowed to wait for a server to become available. All further operations will get an exception immediately.

        Default is 500.

        Parameters:
        maxWaitQueueSize - the number of threads that are allowed to be waiting for a connection.
        Returns:
        this
      • addClusterListener

        public ClusterSettings.Builder addClusterListener(ClusterListener clusterListener)
        Adds a cluster listener.
        Parameters:
        clusterListener - the non-null cluster listener
        Returns:
        this
        Since:
        3.3
      • applyConnectionString

        public ClusterSettings.Builder applyConnectionString(ConnectionString connectionString)
        Takes the settings from the given ConnectionString and applies them to the builder
        Parameters:
        connectionString - the connection string containing details of how to connect to MongoDB
        Returns:
        this
      • build

        public ClusterSettings build()
        Build the settings from the builder.
        Returns:
        the cluster settings