如何在Morphia / Mongo Java驱动程序上自动重试命令

时间:2013-10-10 20:30:27

标签: java mongodb configuration connection morphia

在我们公司,我们有一个部署到亚马逊的应用程序,它使用mongo作为其数据库,在Mongo Java驱动程序之上使用Morphia。

但是,有时我们会遇到一些通信问题,并且对mongo进行的一些查询,插入和更新最终会失败。我们想告诉morphia(或者更有可能是mongo java驱动程序)自动重试失败的命令一定次数,与原因无关(无论是网络/连接失败,套接字超时异常,还是错误的查询或类似的东西)。

我们可以尝试在try / retry块中包装我们的mongo调用,但是它需要对我们的代码进行一些重大的重构,并且它可能仍然不会捕获morphia对mongo的每次调用。

我们在Mongo Java Driver文档中找到了一些有趣的选项,例如 autoConnectRetry socketKeepAlive ,但它们似乎只能解决网络故障,并且它们不会似乎正在进行我们的设置。

我们可以使用其他配置选项来实现此目的吗?如果没有,你们会怎么建议我们解决这个问题?

1 个答案:

答案 0 :(得分:1)

驱动程序或morphia中没有设施可以重试命令。你必须自己管理。

相关问题