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.
        Parameters:
        srvHost - the SRV host name
        Returns:
        this
      • 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

        public ClusterSettings.Builder maxWaitQueueSize​(int maxWaitQueueSize)

        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