对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

群集设置

在本指南中,您可以学习如何使用 Java 驱动程序管理集群。

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

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

选项名称
类型
说明

serverSelectionTimeoutMS

整型

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

默认:30000(30 秒)

localThresholdMS

整型

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

默认值:15

replicaSet

字符串

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

默认值:null

directConnection

布尔

指定驱动程序必须直接连接到托管。这对应于将 mode(ClusterConnectionMode.SINGLE) 应用于 MongoClientSettings。

默认值:false

loadBalanced

布尔

指定驱动程序是否使用负载均衡器连接到MongoDB。

默认值:null

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文档。

给本页内容打分

在此页面上