【发布时间】:2017-03-07 17:10:00
【问题描述】:
我正在使用带有 Java 的 MongoDB,并且对我的连接有一些问题和疑问。首先,我应该如何连接到 Mongo?我应该使用静态客户端并保持打开状态吗?因为连接需要大约 500 毫秒。因此,当用户需要数据时始终连接它并不是最好的主意,不是吗?
但接下来的问题是。当我进行一些查询时,我收到错误消息java.lang.IllegalStateException: The pool is closed 或java.lang.IllegalStateException: state should be: open。
那么,我应该如何管理我的整个 MongoDB 连接内容?总是等待 500 毫秒是在 10 个连接不是很好之后减慢和重新启动服务器的方法。还有其他好的方法吗?
感谢您的帮助!
【问题讨论】:
-
你在单身/静态
MongoClient上打电话给close吗?通过多线程共享单个MongoClient是安全的,MongoClient实际上是您的连接池。但是,如果有人关闭此池,则会发生此异常。