Class MongoClientSettings
- java.lang.Object
-
- com.mongodb.MongoClientSettings
-
@Immutable public final class MongoClientSettings extends Object
Various settings to control the behavior of aMongoClient.- Since:
- 3.7
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMongoClientSettings.BuilderA builder forMongoClientSettingsso thatMongoClientSettingscan be immutable, and to support easier construction through chaining.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static MongoClientSettings.Builderbuilder()Convenience method to create a Builder.static MongoClientSettings.Builderbuilder(MongoClientSettings settings)Convenience method to create a from an existingMongoClientSettings.StringgetApplicationName()Gets the logical name of the application using this MongoClient.AutoEncryptionSettingsgetAutoEncryptionSettings()Gets the auto-encryption settings.ClusterSettingsgetClusterSettings()Gets the cluster settings.CodecRegistrygetCodecRegistry()The codec registry to use, or null if not set.List<CommandListener>getCommandListeners()Gets the list of addedCommandListener.List<MongoCompressor>getCompressorList()Gets the compressors to use for compressing messages to the server.ConnectionPoolSettingsgetConnectionPoolSettings()Gets the settings for the connection provider in a settings object.MongoCredentialgetCredential()Gets the credential.static CodecRegistrygetDefaultCodecRegistry()Gets the default codec registry.SocketSettingsgetHeartbeatSocketSettings()Gets the connection settings for the heartbeat thread (the background task that checks the state of the cluster) wrapped in a settings object.ReadConcerngetReadConcern()The read concern to use.ReadPreferencegetReadPreference()The read preference to use for queries, map-reduce, aggregation, and count.booleangetRetryReads()Returns true if reads should be retried if they fail due to a network error or other retryable error.booleangetRetryWrites()Returns true if writes should be retried if they fail due to a network error or other retryable error.ServerApigetServerApi()Gets the server API to use when sending commands to the server.ServerSettingsgetServerSettings()Gets the server-specific settings wrapped in a settings object.SocketSettingsgetSocketSettings()Gets the connection-specific settings wrapped in a settings object.SslSettingsgetSslSettings()Gets the SSL settings.StreamFactoryFactorygetStreamFactoryFactory()Gets the factory to use to create aStreamFactory.UuidRepresentationgetUuidRepresentation()Gets the UUID representation to use when encoding instances ofUUIDand when decoding BSON binary values with subtype of 3.WriteConcerngetWriteConcern()The write concern to use.
-
-
-
Method Detail
-
getDefaultCodecRegistry
public static CodecRegistry getDefaultCodecRegistry()
Gets the default codec registry. It includes the following providers:- Returns:
- the default codec registry
-
builder
public static MongoClientSettings.Builder builder()
Convenience method to create a Builder.- Returns:
- a builder
-
builder
public static MongoClientSettings.Builder builder(MongoClientSettings settings)
Convenience method to create a from an existingMongoClientSettings.- 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
-
getWriteConcern
public WriteConcern getWriteConcern()
The write concern to use.Default is
WriteConcern.ACKNOWLEDGED.- Returns:
- the write concern
- See Also:
WriteConcern.ACKNOWLEDGED
-
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 aStreamFactory.- Returns:
- the stream factory factory
-
getCommandListeners
public List<CommandListener> getCommandListeners()
Gets the list of addedCommandListener.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
-
getUuidRepresentation
public UuidRepresentation getUuidRepresentation()
Gets the UUID representation to use when encoding instances ofUUIDand when decoding BSON binary values with subtype of 3.The default is
UuidRepresentation.UNSPECIFIED, If your application stores UUID values in MongoDB, you must set this value to the desired representation. New applications should preferUuidRepresentation.STANDARD, while existing Java applications should preferUuidRepresentation.JAVA_LEGACY. Applications wishing to interoperate with existing Python or .NET applications should preferUuidRepresentation.PYTHON_LEGACYorUuidRepresentation.C_SHARP_LEGACY, respectively. Applications that do not store UUID values in MongoDB don't need to set this value.- Returns:
- the UUID representation, which may not be null
- Since:
- 3.12
-
getServerApi
@Nullable public ServerApi getServerApi()
Gets the server API to use when sending commands to the server.- Returns:
- the server API, which may be null
- Since:
- 4.3
-
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 .ClientEncryptiontype. A MongoClient configured with bypassAutoEncryption=true will still automatically decrypt.Automatic encryption requires the authenticated user to have the listCollections privilege action.
- 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
MongoClientSettingsinstance. - 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.- Returns:
- a ConnectionPoolSettings populated with the settings from this
MongoClientSettingsinstance 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 thisMongoClientSettingsinstance.- Returns:
- a ServerSettings
- See Also:
ServerSettings
-
-