我正在尝试从mongodb读取的java应用程序。我正在使用两个辅助mongodbs,如果其中一个db失败,它必须自动启动另一个读取。在测试此代码时,我遇到错误 com.mongodb.MongoTimeoutException:在10000毫秒后等待连接时超时当我停止其中一个辅助数据库(故意崩溃)时。我假设,应用程序没有启动与其他mongo的连接。 我在我的智慧结束,我可以使用一些帮助。这是我的java应用程序的代码片段。
initiated=false;
if(initiated){
mongoClient.close();
mongoClient = null;
}
mongoClient = new MongoClient(serverSeeds);
if(isSlaveOk()){
DBObject use = new BasicDBObject("use", "rebel");
DBObject id = new BasicDBObject("id","1");
mongoClient.setReadPreference(ReadPreference.secondaryPreferred(use, id));
}
db = mongoClient.getDB(getDbName());
collection = db.getCollection(getDbCollectionName());
initiated = true;