Class MongoClientSettings
MongoClient
.- Since:
- 3.7
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
A builder forMongoClientSettings
so thatMongoClientSettings
can be immutable, and to support easier construction through chaining. -
Method Summary
Modifier and TypeMethodDescriptionstatic MongoClientSettings.Builder
builder()
Convenience method to create a Builder.static MongoClientSettings.Builder
builder
(MongoClientSettings settings) Convenience method to create a from an existingMongoClientSettings
.boolean
Gets the logical name of the application using this MongoClient.Gets the auto-encryption settings.Gets the cluster settings.The 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 CodecRegistry
Gets the default codec registry.Gets theDnsClient
to 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 setInetAddressResolver
to use for looking up theInetAddress
instances for each host.Gets the logger settings.The read concern to use.The read preference to use for queries, map-reduce, aggregation, and count.boolean
Returns true if reads should be retried if they fail due to a network error or other retryable error.boolean
Returns 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 implementationGets the UUID representation to use when encoding instances ofUUID
and when decoding BSON binary values with subtype of 3.The write concern to use.int
hashCode()
toString()
-
Method Details
-
getDefaultCodecRegistry
Gets the default codec registry. It includes the following providers:ValueCodecProvider
BsonValueCodecProvider
DBRefCodecProvider
DBObjectCodecProvider
DocumentCodecProvider
CollectionCodecProvider
IterableCodecProvider
MapCodecProvider
GeoJsonCodecProvider
GridFSFileCodecProvider
Jsr310CodecProvider
JsonObjectCodecProvider
BsonCodecProvider
EnumCodecProvider
ExpressionCodecProvider
Jep395RecordCodecProvider
KotlinCodecProvider
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 theDnsClient
to use for resolving DNS queries.If set, it will be used to resolve SRV and TXT records for mongodb+srv connections. Otherwise, implementations of
DnsClientProvider
will be discovered viaServiceLoader
. If no implementations are discovered, thencom.sun.jndi.dns.DnsContextFactory
will be used to resolve these records.If applying a connection string to these settings, care must be taken to also pass the same
DnsClient
as an argument to theConnectionString
constructor.- Returns:
- the DNS client
- Since:
- 4.10
- See Also:
-
getInetAddressResolver
Gets the explicitly setInetAddressResolver
to use for looking up theInetAddress
instances for each host.- Returns:
- the
InetAddress
resolver - 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
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
Gets the UUID representation to use when encoding instances ofUUID
and 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_LEGACY
orUuidRepresentation.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
,maxTimeMS
andmaxCommitTimeMS
null
means 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 singlecommitTransaction
command to execute. See:TransactionOptions.getMaxCommitTime(java.util.concurrent.TimeUnit)
.
0
means infinite timeout.> 0
The 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 .ClientEncryption
type. A MongoClient configured with bypassAutoEncryption=true will still automatically decrypt.Automatic encryption requires the authenticated user to have the listCollections privilege action.
Supplying an
encryptedFieldsMap
provides 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
MongoClientSettings
instance. - 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
MongoClientSettings
instance 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 thisMongoClientSettings
instance.- Returns:
- a ServerSettings
- See Also:
-
getContextProvider
Get the context provider- Returns:
- the context provider
- Since:
- 4.4
-
equals
-
hashCode
public int hashCode() -
toString
-