java - 在 DBCursor.hasNext() 处获取 "not talking to master and retries used up"异常

标签 java mongodb

我在语句 DBCursor.hasNext() 中遇到“未与主机通信且重试已用完”的异常。

当我搜索时,得到了设置首选项的解决方案。我仍然遇到这个问题。

我的代码如下:

public void sampleTest() throws Exception
    {   

MongoClient client = new MongoClient("192.168.20.117", 27017);

DB database = client.getDB("CLME2ECORE");

boolean auth = database.authenticate("tecnotree", ("tecnotree").toCharArray());


DBCollection collection = database.getCollection("RegistrationRequest");

collection.setReadPreference(ReadPreference.primary());

BasicDBObject andQuery = new BasicDBObject("serviceRequest.serviceRequestSubtype.masterCode","RETPOSTREG");
andQuery.append("serviceRequest.serviceRequestStatus.masterCode", "PYMTPEND");

BasicDBObject andFields = new BasicDBObject("serviceRequest.customer.profileDetails.basicDetails.customerCode",1);
andFields.append("_id", 0);

DBCursor dbCursor = collection.find(andQuery);
DBObject dbObject;

dbCursor.setReadPreference(ReadPreference.primary());

if(dbCursor.hasNext())
{
     dbObject = dbCursor.next();

     String value = dbObject.get("serviceRequest.customer.profileDetails.basicDetails.customerCode").toString();
}



client.close();

}

我使用 Maven 依赖项作为

<dependency>
    <groupId>org.mongodb</groupId>
    <artifactId>mongo-java-driver</artifactId>
    <version>2.13.0</version>
</dependency>
<dependency>
 <groupId>org.mongodb</groupId>
 <artifactId>bson</artifactId>
 <version>2.13.0</version>
</dependency> 

请帮助解决此问题。

最佳答案

进行这些更改,然后它就会起作用。

  1. 连接 mongodb 时传递完整的副本集字符串,不要传递单个服务器 IP。

  2. 将 readPreferance 更改为 PrimaryPreferred,而不是仅 Primary。

关于java - 在 DBCursor.hasNext() 处获取 "not talking to master and retries used up"异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39267096/

相关文章:

Java,反编译器出现问题

java - 如何添加 selenium 测试用例来测试下载的 Excel 和 csv 文件中的数据

java - 关于 Tetration 的问题

python - MongoDB:限制来自 $gt 查询的结果(来自 pymongo)

node.js - 处理 MongoDB 从 Node 断开/重新连接

java - 如何使表格单元格编辑所做的更改永久生效?

Java 并行性 : OpenCL/GPUs vs. 参与者/线程

java - Spring Data MongoDB,按长值搜索

MongoDB Atlas 探查器 : What is "Num Yields"?

node.js - 使用 mongoose 将嵌入文档的多个实例保存到我的模型中