为什么MongoDB重启后Java App会失去连接?

时间:2014-07-22 01:58:14

标签: java apache mongodb database-connection

MongoDB是一个包含三个成员的副本集。有时重新启动一个或两个MongoDB实例,Java Apps失去连接并显示以下错误,然后我必须手动重启Java应用程序以重新连接MongoDB副本集:

org.springframework.dao.DataAccessResourceFailureException: 
Unable to connect to any server that matches 
{serverSelectors=[ReadPreferenceServerSelector{readPreference=secondaryPreferred}, 
LatencyMinimizingServerSelector{acceptableLatencyDifference=15 ms}]}; 
nested exception is com.mongodb.MongoServerSelectionException: 
Unable to connect to any server that matches 
{serverSelectors=[ReadPreferenceServerSelector{readPreference=secondaryPreferred}, 
LatencyMinimizingServerSelector{acceptableLatencyDifference=15 ms}]}

我想知道是否有任何解决方案可以保持连接,即使MongoDB实例重新启动?非常感谢你。

1 个答案:

答案 0 :(得分:0)

非常感谢你。我通过更改弹簧数据的配置来解决问题。 我设置了socket-timeout =" 1500"之前。我不应该设置套接字超时。默认为0(无限时间)。