You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mongo Scala Driver如何正确配置连接池大小?

解决Mongo Scala Driver连接池大小配置的错误

嘿,这个问题我之前刚踩过坑!你碰到的错误是因为调用ConnectionPoolSettings.Builder的方式不对——maxSize是它的实例方法,不能直接通过ConnectionPoolSettings.Builder这个object来调用,得先拿到它的实例才行。

正确的配置逻辑是:在applyToConnectionPoolSettings的lambda参数里,会传入一个ConnectionPoolSettings.Builder的实例,你直接在这个实例上调用maxSize方法就可以了。

修正后的完整代码如下:

import com.mongodb.client.MongoClient
import com.mongodb.client.MongoClients
import com.mongodb.connection.ConnectionPoolSettings
import com.mongodb.ServerAddress
import com.mongodb.MongoClientSettings

val settings: MongoClientSettings = MongoClientSettings.builder()
  .applyToConnectionPoolSettings { poolBuilder: ConnectionPoolSettings.Builder =>
    poolBuilder.maxSize(100) // 调用Builder实例的maxSize方法设置连接池上限
  }
  .applyToClusterSettings { clusterBuilder =>
    clusterBuilder.hosts(List(new ServerAddress("localhost")).asJava)
      .description("Local Server")
  }
  .build()

val mongoClient: MongoClient = MongoClients.create(settings)

顺便补充两个小提示:

  • 如果需要配置更多连接池参数(比如最小连接数、最大等待时间),都可以在这个poolBuilder实例上链式调用对应方法,比如poolBuilder.minSize(10).maxWaitTime(30, TimeUnit.SECONDS)
  • 确保导入的包都是正确的,别和旧版本的Mongo驱动包混淆了

内容的提问来源于stack exchange,提问作者sarah w

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:19:56