Overview
本节介绍MongoDB连接和身份验证选项,您可以在Java Reactive Streams驱动程序中作为连接 URI 的参数传递。
使用连接 URI
如果将连接 URI 传递给 MongoClient 构造函数,则可以将连接选项作为 <name>=<value> 对包含在字符串中。在以下示例中,连接 URI 包含值为 60000 的 connectTimeoutMS 选项和值为 true 的 tls 选项:
public class MongoConnection { public static void main(String[] args) { String uri = "mongodb://<hostname>:<port>/?connectTimeoutMS=60000&tls=true"; try (MongoClient client = MongoClients.create(uri)) { // Use client here } } }
连接选项
以下部分描述了Java Reactive Streams驱动程序中可用的连接选项。您可以将这些选项作为连接 URI 的参数传递,以指定客户端的行为。
身份验证
连接选项 | 说明 |
|---|---|
authMechanism | 设置 Java Reactive Streams 驱动程序用于对应用程序进行身份验证的机制。 |
authMechanismProperties | 设置身份验证机制特定的选项。 |
authSource | 设置身份验证凭证的来源。来源通常是 |
用户名 | 设置用于身份验证的用户名。如果此选项包含在连接 |
密码 | 设置身份验证密码。如果此选项包含在连接 |
连接配置
连接选项 | 说明 |
|---|---|
connectTimeoutMS | 设置连接在超时前可以花费的毫秒数。 |
maxIdleTimeMS | 设置连接在池中可保持空闲状态的最大毫秒数,在此时间过后,连接将被删除或关闭。 |
maxLifeTimeMS | 设置连接池中连接的最长生命周期,以毫秒为单位。 |
socketTimeoutMS (已弃用) | |
ssl | 设置是否使用 TLS/SSL 进行连接。 |
sslInvalidHostNameAllowed | 允许 TLS/SSL 连接的无效主机名。 |
TLS | 设置是否使用 TLS 连接。取代 |
tlsAllowInvalidHostnames | 允许 TLS 连接使用无效主机名称。取代 |
tlsInsecure | 使用 TLS 连接时启用不安全的 TLS 连接。 |
连接池配置
连接选项 | 说明 |
|---|---|
maxConnecting | 设置池可以同时建立的最大连接数。 |
maxPoolSize | 设置连接池中的最大连接数。如果某个操作需要新连接,而连接池已打开 |
minPoolSize | 设置连接池中的最小连接数。 |
waitQueueTimeoutMS (已弃用) |
CompressorConfiguration
连接选项 | 说明 |
|---|---|
compressors | 设置发送到 |
zlibCompressionLevel | 设置 zlib 要使用的压缩级别。此选项接受 |
常规配置
连接选项 | 说明 |
|---|---|
directConnection | 设置驱动程序是否直接连接到主机。 |
loadBalanced | 设置驱动程序是否使用负载均衡器连接到 MongoDB。 |
retryWrites |
|
retryReads |
|
uuidRepresentation | 设置 Java Reactive Streams 驱动程序用于编码 |
代理配置
连接选项 | 说明 |
|---|---|
proxyHost | 建立 SOCKS5 代理托管以建立连接。 |
代理端口 | 设置 SOCKS5 代理服务器的端口号。必须是非负整数。 |
proxyUsername | 设置用于向代理服务器进行身份验证的用户名。如果指定了 |
proxyPassword | 设置用于向代理服务器进行身份验证的密码。如果指定了 |
读取偏好配置
连接选项 | 说明 |
|---|---|
readPreference | 设置此连接的读取偏好(read preference)。枚举值为: |
readPreferenceTags | 指定标签集为冒号分隔的键值对列表(逗号分隔) |
maxStalenessSeconds | 设置最大过时时间,以秒为单位。要了解有关过时的更多信息, |
副本集配置
连接选项 | 说明 |
|---|---|
replicaSet | 指定要连接的副本集的名称。 |
服务器配置
连接选项 | 说明 |
|---|---|
appName | 设置应用程序的逻辑名称。 |
heartbeatFrequencyMS | 驱动程序确定集群中每台服务器当前状态的频率(以毫秒为单位)。 |
localThresholdMS | 设置在多个 MongoDB 服务器中选择发送请求的网络探测(ping)时间阈值。 |
serverMonitoringMode | 设置服务器监控模式,它定义要使用的监控协议。枚举值为: |
serverSelectionTimeoutMS | 设置驱动程序在抛出异常前等待服务器选择成功的时间长度。 |
SRV 配置
连接选项 | 说明 |
|---|---|
srvServiceName | 设置 SRV 服务名称。请参阅 |
SrvMaxHosts | 设置可连接的 SRV 记录中的最大托管数。 |
写关注配置
连接选项 | 说明 |
|---|---|
safe | 设置驱动程序是否确保所有写入都已被 |
journal |
|
w | 如果设置,驱动程序会将 |
wtimeoutMS (已弃用) | 此选项已弃用。您可以通过设置 |
有关本节中连接选项的更多信息,请参阅数据库和集合指南。