大家好我刚接触Spring maven项目,我正在使用MongoDB。我想使用两个tomcats / MongoDB这两个IP地址都不同。当第一个DB关闭时,我需要连接第二个DB如何实现 我正在使用以下代码
public boolean mongoRunningAt(String uri) {
try {
Mongo mongo = new Mongo(new MongoURI(uri));
try {
Socket socket = mongo.getMongoOptions().socketFactory.createSocket();
socket.connect(mongo.getAddress().getSocketAddress());
socket.close();
} catch (IOException ex) {
mongo = new Mongo(new MongoURI(uri_second));
Socket socket = mongo.getMongoOptions().socketFactory.createSocket();
socket.connect(mongo.getAddress().getSocketAddress());
socket.close();
//return false;
}
mongo.close();
return true;
} catch (UnknownHostException e) {
return false;
}
}
使用此代码我尝试第一个成功连接,现在停止第一个DB现在重新启动服务器它与第二个数据库连接。
但是,如果我没有重新启动服务器,它总是指向First ...我应该如何处理这个
提前致谢
答案 0 :(得分:0)
您部署了2台服务器,它们是replica set。如果没有,您可以点击链接。 当它们已经在副本集中时,您可以使用包含2个服务器的connectionstring。
像这样:
mongodb://db1.example.net,db2.example.net:2500/?replicaSet=test