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 | 设置网络探测(ping)时间阈值,以便在多个MongoDB服务器中进行选择以发送请求。设立此值后,驾驶员只会将该请求发送到网络探测(ping)时间小于或等于最快网络探测(ping)时间的服务器加上本地阈值的服务器。数据类型: |
serverMonitoringMode | 设置服务器监控模式,它定义了要使用的监控协议。枚举值为: |
serverSelectionTimeoutMS |
|
SRV 配置
连接选项 | 说明 |
|---|---|
srvServiceName | 设置 SRV 服务名称。请参阅 |
SrvMaxHosts | 设置 |
写关注配置
连接选项 | 说明 |
|---|---|
safe |
|
journal |
|
w | 如果设立,驾驶员会将 |
wtimeoutMS (已弃用) |
有关本节中连接选项的更多信息,请参阅数据库和集合指南。