Package com.mongodb

Class MongoClientOptions.Builder

  • Enclosing class:
    MongoClientOptions

    @NotThreadSafe
    public static class MongoClientOptions.Builder
    extends Object
    A builder for MongoClientOptions so that MongoClientOptions can be immutable, and to support easier construction through chaining.
    Since:
    2.10.0
    • Constructor Detail

      • Builder

        public Builder()
        Creates a Builder for MongoClientOptions, getting the appropriate system properties for initialization.
      • Builder

        public Builder​(MongoClientOptions options)
        Creates a Builder from an existing MongoClientOptions.
        Parameters:
        options - create a builder from existing options
    • Method Detail

      • applicationName

        public MongoClientOptions.Builder applicationName​(String applicationName)
        Sets the logical name of the application using this MongoClient. The application name may be used by the client to identify the application to the server, for use in server logs, slow query logs, and profile collection.
        Parameters:
        applicationName - the logical name of the application using this MongoClient. It may be null. The UTF-8 encoding may not exceed 128 bytes.
        Returns:
        this
        Since:
        3.4
        See Also:
        MongoClientOptions.getApplicationName()
        Since server release
        3.4
      • compressorList

        public MongoClientOptions.Builder compressorList​(List<com.mongodb.MongoCompressor> compressorList)
        Sets the compressors to use for compressing messages to the server. The driver will use the first compressor in the list that the server is configured to support.
        Parameters:
        compressorList - the list of compressors to request
        Returns:
        this
        Since:
        3.6
        See Also:
        MongoClientOptions.getCompressorList()
        Since server release
        3.4
      • serverSelectionTimeout

        public MongoClientOptions.Builder serverSelectionTimeout​(int serverSelectionTimeout)

        Sets the server selection timeout in milliseconds, which defines how long the driver will wait for server selection to succeed before throwing an exception.

        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 server selection timeout, in milliseconds
        Returns:
        this
        See Also:
        MongoClientOptions.getServerSelectionTimeout()
      • sslInvalidHostNameAllowed

        public MongoClientOptions.Builder sslInvalidHostNameAllowed​(boolean sslInvalidHostNameAllowed)
        Define whether invalid host names should be allowed. Defaults to false. Take care before setting this to true, as it makes the application susceptible to man-in-the-middle attacks.
        Parameters:
        sslInvalidHostNameAllowed - whether invalid host names are allowed in SSL certificates.
        Returns:
        this
      • sslContext

        public MongoClientOptions.Builder sslContext​(SSLContext sslContext)
        Sets the SSLContext to be used with SSL is enabled. This property is ignored when either sslEnabled is false or socketFactory is non-null.
        Parameters:
        sslContext - the SSLContext to be used for SSL connections
        Returns:
        this
        Since:
        3.5
      • retryWrites

        public MongoClientOptions.Builder retryWrites​(boolean retryWrites)
        Sets whether writes should be retried if they fail due to a network error.

        Starting with the 3.11.0 release, the default value is true

        Parameters:
        retryWrites - sets if writes should be retried if they fail due to a network error.
        Returns:
        this
        Since:
        3.6
        See Also:
        MongoClientOptions.getRetryWrites()
        Since server release
        3.6
      • retryReads

        public MongoClientOptions.Builder retryReads​(boolean retryReads)
        Sets whether reads should be retried if they fail due to a network error.
        Parameters:
        retryReads - sets if reads should be retried if they fail due to a network error.
        Returns:
        this
        Since:
        3.11
        See Also:
        MongoClientOptions.getRetryReads()
        Since server release
        3.6
      • codecRegistry

        public MongoClientOptions.Builder codecRegistry​(org.bson.codecs.configuration.CodecRegistry codecRegistry)
        Sets the codec registry

        Note that instances of DB and DBCollection do not use the registry, so it's not necessary to include a codec for DBObject in the registry.

        Parameters:
        codecRegistry - the codec registry
        Returns:
        this
        Since:
        3.0
        See Also:
        MongoClientOptions.getCodecRegistry()
      • uuidRepresentation

        public MongoClientOptions.Builder uuidRepresentation​(org.bson.UuidRepresentation uuidRepresentation)
        Sets the UUID representation to use when encoding instances of UUID and when decoding BSON binary values with subtype of 3.

        See MongoClientOptions.getUuidRepresentation() for recommendations on settings this value

        Parameters:
        uuidRepresentation - the UUID representation, which may not be null
        Returns:
        this
        Since:
        3.12
      • addCommandListener

        public MongoClientOptions.Builder addCommandListener​(com.mongodb.event.CommandListener commandListener)
        Adds the given command listener.
        Parameters:
        commandListener - the non-null command listener
        Returns:
        this
        Since:
        3.1
      • addConnectionPoolListener

        public MongoClientOptions.Builder addConnectionPoolListener​(com.mongodb.event.ConnectionPoolListener connectionPoolListener)
        Adds the given connection pool listener.
        Parameters:
        connectionPoolListener - the non-null connection pool listener
        Returns:
        this
        Since:
        3.5
      • addClusterListener

        public MongoClientOptions.Builder addClusterListener​(com.mongodb.event.ClusterListener clusterListener)
        Adds the given cluster listener.
        Parameters:
        clusterListener - the non-null cluster listener
        Returns:
        this
        Since:
        3.3
      • addServerListener

        public MongoClientOptions.Builder addServerListener​(com.mongodb.event.ServerListener serverListener)
        Adds the given server listener.
        Parameters:
        serverListener - the non-null server listener
        Returns:
        this
        Since:
        3.3
      • addServerMonitorListener

        public MongoClientOptions.Builder addServerMonitorListener​(com.mongodb.event.ServerMonitorListener serverMonitorListener)
        Adds the given server monitor listener.
        Parameters:
        serverMonitorListener - the non-null server monitor listener
        Returns:
        this
        Since:
        3.3
      • alwaysUseMBeans

        @Deprecated
        public MongoClientOptions.Builder alwaysUseMBeans​(boolean alwaysUseMBeans)
        Deprecated.
        there is no replacement for this property
        Sets whether JMX beans registered by the driver should always be MBeans, regardless of whether the VM is Java 6 or greater. If false, the driver will use MXBeans if the VM is Java 6 or greater, and use MBeans if the VM is Java 5.
        Parameters:
        alwaysUseMBeans - true if driver should always use MBeans, regardless of VM version
        Returns:
        this
        See Also:
        MongoClientOptions.isAlwaysUseMBeans()
      • heartbeatFrequency

        public MongoClientOptions.Builder heartbeatFrequency​(int heartbeatFrequency)
        Sets the heartbeat frequency. This is the frequency that the driver will attempt to determine the current state of each server in the cluster. The default value is 10,000 milliseconds
        Parameters:
        heartbeatFrequency - the heartbeat frequency for the cluster, in milliseconds, which must be > 0
        Returns:
        this
        Throws:
        IllegalArgumentException - if heartbeatFrequency is not > 0
        Since:
        2.12
        See Also:
        MongoClientOptions.getHeartbeatFrequency()
      • minHeartbeatFrequency

        public MongoClientOptions.Builder minHeartbeatFrequency​(int minHeartbeatFrequency)
        Sets the minimum heartbeat frequency. In the event that the driver has to frequently re-check a server's availability, it will wait at least this long since the previous check to avoid wasted effort. The default value is 500 milliseconds.
        Parameters:
        minHeartbeatFrequency - the minimum heartbeat frequency, in milliseconds, which must be > 0
        Returns:
        this
        Throws:
        IllegalArgumentException - if minHeartbeatFrequency <= 0
        Since:
        2.13
        See Also:
        MongoClientOptions.getMinHeartbeatFrequency()
      • autoEncryptionSettings

        public MongoClientOptions.Builder autoEncryptionSettings​(com.mongodb.AutoEncryptionSettings autoEncryptionSettings)
        Set options for auto-encryption.
        Parameters:
        autoEncryptionSettings - auto encryption settings
        Returns:
        this
        Since:
        3.11
      • build

        public MongoClientOptions build()
        Build an instance of MongoClientOptions.
        Returns:
        the options from this builder