2014-03-13 51 views
0

当我编写一个连接到mongodb的java程序时,我找不到任何检查mongodb连接状态的java api,如“isConnected”方法。我用下面的代码来建立连接:Java mongodb重新连接

Mongo mongo = new Mongo("localhost", 27017); 
DB db = mongo.getDB("database"); 
DBCollection col = db.getCollection("collection"); 

但如果它不能建立(如MongoDB的服务没有运行)连接的东西,我想重新连接到MongoDB中,直到连接可用?

while(mongo == null) 
{ 
    //connect to mongo again 
} 

我不确定上面的代码是否正确,因为它实际上不检查连接状态。那么有没有其他的方式来重新连接?

回答

1

你可以做一个检查,看其是否已经接,也许这将是在那一刻。但是如果它在你的支票和你的实际操作之间发生了什么呢?无论如何,你仍然需要处理连接失败。检查“isConnected()”是一种感觉良好的解决方案,并不能真正提供任何好处。你最好的选择就是尝试你的工作。如果连接失败,java驱动程序将尝试重新连接(服务器或网络可能关闭),然后您可以重试。