Package com.mongodb

Class MongoClientSettings


  • @Immutable
    public final class MongoClientSettings
    extends Object
    Various settings to control the behavior of a MongoClient.
    Since:
    3.7
    • Method Detail

      • builder

        public static MongoClientSettings.Builder builder(MongoClientSettings settings)
        Convenience method to create a from an existing MongoClientSettings.
        Parameters:
        settings - create a builder from existing settings
        Returns:
        a builder
      • getReadPreference

        public ReadPreference getReadPreference()
        The read preference to use for queries, map-reduce, aggregation, and count.

        Default is ReadPreference.primary().

        Returns:
        the read preference
        See Also:
        ReadPreference.primary()
      • getCredential

        @Nullable
        public MongoCredential getCredential()
        Gets the credential.
        Returns:
        the credential, which may be null
      • getRetryWrites

        public boolean getRetryWrites()
        Returns true if writes should be retried if they fail due to a network error or other retryable error.

        Starting with the 3.11.0 release, the default value is true

        Returns:
        the retryWrites value
        Since server release
        3.6
      • getRetryReads

        public boolean getRetryReads()
        Returns true if reads should be retried if they fail due to a network error or other retryable error. The default value is true.
        Returns:
        the retryReads value
        Since:
        3.11
        Since server release
        3.6
      • getReadConcern

        public ReadConcern getReadConcern()
        The read concern to use.
        Returns:
        the read concern
        MongoDB documentation
        Read Concern
        Since server release
        3.2
      • getCodecRegistry

        public CodecRegistry getCodecRegistry()
        The codec registry to use, or null if not set.
        Returns:
        the codec registry
      • getStreamFactoryFactory

        @Nullable
        public StreamFactoryFactory getStreamFactoryFactory()
        Gets the factory to use to create a StreamFactory.
        Returns:
        the stream factory factory
      • getCommandListeners

        public List<CommandListener> getCommandListeners()
        Gets the list of added CommandListener.

        The default is an empty list.

        Returns:
        the unmodifiable list of command listeners
      • getApplicationName

        @Nullable
        public String getApplicationName()
        Gets 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.

        Default is null.

        Returns:
        the application name, which may be null
        Since server release
        3.4
      • getCompressorList

        public List<MongoCompressor> getCompressorList()
        Gets 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.

        Default is the empty list.

        Returns:
        the compressors
        Since server release
        3.4
      • getAutoEncryptionSettings

        @Nullable
        public AutoEncryptionSettings getAutoEncryptionSettings()
        Gets the auto-encryption settings.

        Client side encryption enables an application to specify what fields in a collection must be encrypted, and the driver automatically encrypts commands and decrypts results.

        Automatic encryption is an enterprise only feature that only applies to operations on a collection. Automatic encryption is not supported for operations on a database or view and will result in error. To bypass automatic encryption, set bypassAutoEncryption=true in ClientSideEncryptionOptions.

        Explicit encryption/decryption and automatic decryption is a community feature, enabled with the new com.mongodb.client.vault .ClientEncryption type. A MongoClient configured with bypassAutoEncryption=true will still automatically decrypt.

        Automatic encryption requires the authenticated user to have the listCollections privilege action.

        Note: support for client side encryption is in beta. Backwards-breaking changes may be made before the final release.

        Returns:
        the auto-encryption settings, which may be null
        Since:
        3.11
      • getClusterSettings

        public ClusterSettings getClusterSettings()
        Gets the cluster settings.
        Returns:
        the cluster settings
      • getSslSettings

        public SslSettings getSslSettings()
        Gets the SSL settings.
        Returns:
        the SSL settings
      • getSocketSettings

        public SocketSettings getSocketSettings()
        Gets the connection-specific settings wrapped in a settings object. This settings object uses the values for connectTimeout, socketTimeout and socketKeepAlive.
        Returns:
        a SocketSettings object populated with the connection settings from this MongoClientSettings instance.
        See Also:
        SocketSettings
      • getHeartbeatSocketSettings

        public SocketSettings getHeartbeatSocketSettings()
        Gets the connection settings for the heartbeat thread (the background task that checks the state of the cluster) wrapped in a settings object.
        Returns:
        the SocketSettings for the heartbeat thread
        See Also:
        SocketSettings
      • getConnectionPoolSettings

        public ConnectionPoolSettings getConnectionPoolSettings()
        Gets the settings for the connection provider in a settings object. This settings object wraps the values for minConnectionPoolSize, maxConnectionPoolSize, maxWaitTime, maxConnectionIdleTime and maxConnectionLifeTime, and uses maxConnectionPoolSize and threadsAllowedToBlockForConnectionMultiplier to calculate maxWaitQueueSize.
        Returns:
        a ConnectionPoolSettings populated with the settings from this MongoClientSettings instance that relate to the connection provider.
        See Also:
        ConnectionPoolSettings
      • getServerSettings

        public ServerSettings getServerSettings()
        Gets the server-specific settings wrapped in a settings object. This settings object uses the heartbeatFrequency and minHeartbeatFrequency values from this MongoClientSettings instance.
        Returns:
        a ServerSettings
        See Also:
        ServerSettings