Class MongoClientSettings
MongoClient.- Since:
- 3.7
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classA builder forMongoClientSettingsso thatMongoClientSettingscan be immutable, and to support easier construction through chaining. -
Method Summary
Modifier and TypeMethodDescriptionstatic MongoClientSettings.Builderbuilder()Convenience method to create a Builder.static MongoClientSettings.Builderbuilder(MongoClientSettings settings) Convenience method to create a from an existingMongoClientSettings.booleanGets the logical name of the application using this MongoClient.Gets the auto-encryption settings.Gets the cluster settings.org.bson.codecs.configuration.CodecRegistryThe codec registry to use, or null if not set.Gets the list of addedCommandListener.Gets the compressors to use for compressing messages to the server.Gets the settings for the connection provider in a settings object.Get the context providerGets the credential.static org.bson.codecs.configuration.CodecRegistryGets the default codec registry.Gets theDnsClientto use for resolving DNS queries.Gets the connection settings for the heartbeat thread (the background task that checks the state of the cluster) wrapped in a settings object.Gets the explicitly setInetAddressResolverto use for looking up theInetAddressinstances for each host.Gets the logger settings.The read concern to use.The read preference to use for queries, map-reduce, aggregation, and count.booleanReturns true if reads should be retried if they fail due to a network error or other retryable error.booleanReturns true if writes should be retried if they fail due to a network error or other retryable error.Gets the server API to use when sending commands to the server.Gets the server-specific settings wrapped in a settings object.Gets the connection-specific settings wrapped in a settings object.Gets the SSL settings.getTimeout(TimeUnit timeUnit) The time limit for the full execution of an operation.Gets the settings for the underlying transport implementationorg.bson.UuidRepresentationGets the UUID representation to use when encoding instances ofUUIDand when decoding BSON binary values with subtype of 3.The write concern to use.inthashCode()toString()
-
Method Details
-
getDefaultCodecRegistry
public static org.bson.codecs.configuration.CodecRegistry getDefaultCodecRegistry()Gets the default codec registry. It includes the following providers:ValueCodecProviderBsonValueCodecProviderDBRefCodecProviderDBObjectCodecProviderDocumentCodecProviderCollectionCodecProviderIterableCodecProviderMapCodecProviderGeoJsonCodecProviderGridFSFileCodecProviderJsr310CodecProviderJsonObjectCodecProviderBsonCodecProviderEnumCodecProviderExpressionCodecProviderJep395RecordCodecProviderKotlinCodecProvider
Additional providers may be added in a future release.
- Returns:
- the default codec registry
-
builder
Convenience method to create a Builder.- Returns:
- a builder
-
builder
Convenience method to create a from an existingMongoClientSettings.- Parameters:
settings- create a builder from existing settings- Returns:
- a builder
-
getDnsClient
Gets theDnsClientto use for resolving DNS queries.If set, it will be used to resolve SRV and TXT records for mongodb+srv connections. Otherwise, implementations of
DnsClientProviderwill be discovered viaServiceLoader. If no implementations are discovered, thencom.sun.jndi.dns.DnsContextFactorywill be used to resolve these records.If applying a connection string to these settings, care must be taken to also pass the same
DnsClientas an argument to theConnectionStringconstructor.- Returns:
- the DNS client
- Since:
- 4.10
- See Also:
-
getInetAddressResolver
Gets the explicitly setInetAddressResolverto use for looking up theInetAddressinstances for each host.- Returns:
- the
InetAddressresolver - Since:
- 4.10
- See Also:
-
getReadPreference
The read preference to use for queries, map-reduce, aggregation, and count.Default is
ReadPreference.primary().- Returns:
- the read preference
- See Also:
-
getCredential
Gets the credential.- Returns:
- the credential, which may be null
-
getWriteConcern
The write concern to use.Default is
WriteConcern.ACKNOWLEDGED.- Returns:
- the write concern
- See Also:
-
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
The read concern to use.- Returns:
- the read concern
- MongoDB documentation
- Read Concern
- Since server release
- 3.2
-
getCodecRegistry
public org.bson.codecs.configuration.CodecRegistry getCodecRegistry()The codec registry to use, or null if not set.- Returns:
- the codec registry
-
getTransportSettings
Gets the settings for the underlying transport implementation- Returns:
- the settings for the underlying transport implementation
- Since:
- 4.11
- See Also:
-
getCommandListeners
Gets the list of addedCommandListener.The default is an empty list.
- Returns:
- the unmodifiable list of command listeners
-
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
- See Also:
- Since server release
- 3.4
-
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 org.bson.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
Gets the server API to use when sending commands to the server.- Returns:
- the server API, which may be null
- Since:
- 4.3
-
getTimeout
The time limit for the full execution of an operation.If set the following deprecated options will be ignored:
waitQueueTimeoutMS,socketTimeoutMS,wTimeoutMS,maxTimeMSandmaxCommitTimeMSnullmeans that the timeout mechanism for operations will defer to using:waitQueueTimeoutMS: The maximum wait time in milliseconds that a thread may wait for a connection to become availablesocketTimeoutMS: How long a send or receive on a socket can take before timing out.wTimeoutMS: How long the server will wait for the write concern to be fulfilled before timing out.maxTimeMS: The cumulative time limit for processing operations on a cursor. See: cursor.maxTimeMS.maxCommitTimeMS: The maximum amount of time to allow a singlecommitTransactioncommand to execute. See:TransactionOptions.getMaxCommitTime(java.util.concurrent.TimeUnit).
0means infinite timeout.> 0The time limit to use for the full execution of an operation.
- Parameters:
timeUnit- the time unit- Returns:
- the timeout in the given time unit
- Since:
- 5.2
-
getAutoEncryptionSettings
Gets the auto-encryption settings.In-use 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.
Supplying an
encryptedFieldsMapprovides more security than relying on an encryptedFields obtained from the server. It protects against a malicious server advertising false encryptedFields.- Returns:
- the auto-encryption settings, which may be null
- Since:
- 3.11
-
getLoggerSettings
Gets the logger settings.- Returns:
- the logger settings
- Since:
- 4.9
-
getClusterSettings
Gets the cluster settings.- Returns:
- the cluster settings
-
getSslSettings
Gets the SSL settings.- Returns:
- the SSL settings
-
getSocketSettings
Gets the connection-specific settings wrapped in a settings object. This settings object uses the values for connectTimeout and socketTimeout.- Returns:
- a SocketSettings object populated with the connection settings from this
MongoClientSettingsinstance. - See Also:
-
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:
-
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:
-
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:
-
getContextProvider
Get the context provider- Returns:
- the context provider
- Since:
- 4.4
-
equals
-
hashCode
public int hashCode() -
toString
-