Docs 菜单

群集设置

在此页面上

在本指南中,您可以学习;了解Java驾驶员如何管理集群。

您可以使用 连接字符串或将 MongoClientSettings对象传递给 MongoClient 构造函数来指定集群的设置。选择 Connection StringMongoClientSettings标签页,查看可用选项:

在连接字符串中包含以下参数,以修改驱动程序在与MongoDB 集群交互时的行为:

选项名称
类型
说明

serverSelectionTimeoutMS

整型

指定驾驶员在抛出异常之前等待服务器选择成功的最长时间(以毫秒为单位)。

默认30000(30 秒)

localThresholdMS

整型

与副本集的多个MongoDB实例通信时,驾驶员仅向响应时间小于或等于最快响应服务器加上本地阈值(以毫秒为单位)的服务器发送请求。

默认值15

replicaSet

字符串

指定所提供的连接字符串包含多个主机。指定后,驱动程序会尝试查找该集合的所有节点。

默认值null

directConnection

布尔

指定驾驶员必须直接连接到托管。这对应于将 mode(ClusterConnectionMode.SINGLE) 应用于 MongoClientSettings

默认值false

srvServiceName

字符串

指定驾驶员检索以构造种子列表的 SRV资源记录 的服务名称。要使用此选项,您必须在连接 URI 中使用 DNS 种子列表连接格式。

默认值mongodb

此示例将驾驶员直接连接到服务器,无论它属于哪种类型的MongoDB 集群:

ConnectionString connectionString = "mongodb://<host>:<port>/?directConnection=true"
MongoClient mongoClient = MongoClients.create(connectionString)

有关这些参数的更多信息,请参阅 ConnectionString API文档。

链式调用 applyToClusterSettings() 方法以修改驱动程序与您的 MongoDB 集群交互时的行为。

下表描述了可以链接到设置以修改驱动程序行为的方法:

方法
说明

addClusterListener()

为集群相关事件添加侦听器。

applyConnectionString()

使用 ConnectionString 对象中的设置。

applySettings()

使用在 ClusterSettings 对象中指定的集群设置。

hosts()

设置 Mongo 部署的所有指定位置。

localThreshold()

设置服务器往返可能所需的时间,以及是否仍符合服务器选择条件。

默认值15 milliseconds

mode()

设置如何连接到 MongoDB 部署。

requiredClusterType()

设置集群所需的集群类型。

requiredReplicaSetName()

设置集群所需的副本集名称。

serverSelectionTimeout()

设置在抛出超时异常之前选择主节点的最长时间。

默认值30 seconds

serverSelector()

添加服务器选择器,在选择服务器前应用。

srvHost()

设置用于查找 SRV DNS 记录的主机名,以查找 MongoDB 主机。

如果要启用与托管关联的 TXT 记录的处理,请使用 applyConnectionString() 方法在连接字符串中指定 SRV托管。

例如:

MongoClient mongoClient =
MongoClients.create(MongoClientSettings.builder()
.applyConnectionString(new ConnectionString("mongodb+srv://host1.acme.com")))

srvMaxHosts()

设置使用 DNS 种子列表 (SRV) 连接协议(由 mongodb+srv 连接字符串前缀标识)时驱动程序可以连接到的最大主机数。

如果不使用 SRV 连接协议,则会引发异常。

此示例将驾驶员直接连接到服务器,无论它属于哪种类型的MongoDB 集群:

MongoClient mongoClient = MongoClients.create(
MongoClientSettings.builder()
.applyToClusterSettings(builder ->
builder.mode(ClusterConnectionMode.SINGLE))
.build());

提示

这类似于您可以在连接 URI 中指定的 directConnection 参数。有关详细信息,请参阅“连接字符串”标签页。

有关链式方法的更多信息,请参阅 MongoClientSettings.Builder API文档。

在此页面上