Java mongodb副本集成员网络无法访问时无限等待
我构建了一个地理上冗余的副本集mongodb服务(3个站点,每个站点3个成员),并使用java驱动程序(async v3.6.4)操作mongo。一切正常,直到一个站点的网络接口关闭,整个应用程序都在等待与该站点的连接重新启用 我试图通过cli删除无法访问的主机,并重新启动web应用程序以使web应用程序正常工作。我的问题是,为什么mongo java驱动程序无法自动重新连接到其他站点的mongo主机,而这一切正常?我是否需要将任何参数传递给ClusterSettings、ConnectionPoolSettings或SocketSettings以启用au重新连接到工作主机 我的代码如下:Java mongodb副本集成员网络无法访问时无限等待,java,mongodb,replicaset,Java,Mongodb,Replicaset,我构建了一个地理上冗余的副本集mongodb服务(3个站点,每个站点3个成员),并使用java驱动程序(async v3.6.4)操作mongo。一切正常,直到一个站点的网络接口关闭,整个应用程序都在等待与该站点的连接重新启用 我试图通过cli删除无法访问的主机,并重新启动web应用程序以使web应用程序正常工作。我的问题是,为什么mongo java驱动程序无法自动重新连接到其他站点的mongo主机,而这一切正常?我是否需要将任何参数传递给ClusterSettings、ConnectionP
ClusterSettings clusterSettings
= ClusterSettings.builder().hosts(servers).build();
ConnectionPoolSettings connectionSettings
= ConnectionPoolSettings.builder()
.maxSize(512)
.minSize(64)
.maxWaitQueueSize(512).build();
MongoClientSettings settings = MongoClientSettings.builder()
.clusterSettings(clusterSettings)
.connectionPoolSettings(connectionSettings)
.writeConcern(WriteConcern.JOURNALED)
.readPreference(ReadPreference.secondaryPreferred())
.readConcern(ReadConcern.LOCAL)
.build();
mongoClient = MongoClients.create(settings);