小编Wil*_*Bao的帖子

MongoDB java驱动如何判断副本集是否处于自动故障转移过程中?

我们的应用程序建立在 mongodb 副本集上。当副本集处于自动故障转移过程中时,我想捕获在时间范围内抛出的所有异常。我将使应用程序重试或等待故障转移完成。这样故障转移就不会影响用户。我在这里找到了描述 Java 驱动程序行为的文档: https //jira.mongodb.org/browse/DOCS-581

我编写了一个测试程序来查找所有可能的异常,它们都是 MongoException 但具有不同的消息:

  1. MongoException.Network:“对服务器 /10.11.0.121:27017 的读取操作在数据库测试中失败”
  2. MongoException:“找不到主人”
  3. MongoException:“不与主人交谈并重试已用完”
  4. MongoException:“[这里是副本集状态]中没有可用的副本集成员{“mode”:“primary”}”
  5. 也许更多...

我很困惑,不确定通过错误消息确定是否安全。此外,我不想捕获所有 MongoException。有什么建议吗?

谢谢

mongodb mongodb-java

5
推荐指数
1
解决办法
7379
查看次数

标签 统计

mongodb ×1

mongodb-java ×1