如何管理 marklogic 连接

How to manage marklogic connections

我们的服务监听一个队列,并使用 java 客户端保存 Marklogic-v8.0.6 中发布给它的事件。
持久性代码以这种方式工作:
client.getConnection(host,port,name,pswd,auth) write content client.release
当有大量事件时说 2000+ ,只有前 200 - 250 被持久化。
然后我们看到消息 Too many open files 的异常,此后事件不会在那里持久化。
这是因为 marklogic 上打开的连接太多,没有连接供服务使用。
marklogic中有连接池的概念可以利用吗?

客户端对象封装了一个连接池。

为每个请求创建一个新的客户端是非常低效的。

推荐的使用模式是为数据库和角色的组合打开一个客户端,并继续使用该客户端进行角色对数据库的所有访问。

数据库客户端和管理器在配置后是线程安全的,因此多个线程可以使用同一个数据库客户端。

如果您发现需要比默认更多的并发请求,可以通过多种方式进行调整,但第一步是将数据库客户端视为数据库和角色组合的单例。

希望对您有所帮助,