gpt4 book ai didi

java - com.allanbank.mongodb Java Mongodb 异步驱动程序错误 - 无法引导与 MongoDB 服务器的连接

转载 作者:行者123 更新时间:2023-12-01 11:43:15 24 4
gpt4 key购买 nike

我正在使用 google guice 框架实现 Web 服务,这里我注入(inject)了 mongodb 模块,并使用构造函数初始化 mongodb 连接。在这里,对于我使用 MongoClient 的每种方法,并执行一些操作,然后在获得结果后关闭连接。问题是,如果存在大量繁重计算,连接会关闭并给出错误“无法引导连接”错误。请找到实现 mongodb 连接的方法,该连接将保持 Activity 状态或重新启动通信...

   try{
MongoDBModule module = new MongoDBModule();
MongoClient mongoClient = module.getMongoDBClient();
MongoDatabase database = mongoClient.getDatabase(m_client.getDatabaseName());
MongoCollection collection = database.getCollection("CAMPUS_PROD");

//do stuff with mongoclient

mongoClient.close();

return document.resuls
}catch(IOException ie){
// print exception
}

最佳答案

与所有 MongoDB 驱动程序一样,您不应根据请求创建和关闭 MongoClient。相反,您希望找到一种方法在应用程序启动时创建 MongoClient,然后在应用程序退出时关闭它。

在你的情况下,我会让你的Guice Binder创建MongoClient,然后执行bind(...).toInstance(...)。例如,

bind(MongoClient.class).toInstance(mongoClient);

在使用 MongoClient 的类中,您不应该调用 close()。

当第一个请求触发 MongoClient 发现 MongoDB 集群并且我们无法创建与任何服务器的连接时,会导致“无法引导”错误。这很容易由打开和关闭 MongoClient 引起的连接抖动引起。

关于java - com.allanbank.mongodb Java Mongodb 异步驱动程序错误 - 无法引导与 MongoDB 服务器的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29339530/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com