Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Morphia/Mongo Java驱动程序上自动重试命令_Java_Mongodb_Configuration_Connection_Morphia - Fatal编程技术网

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

如何在Morphia/Mongo Java驱动程序上自动重试命令,java,mongodb,configuration,connection,morphia,Java,Mongodb,Configuration,Connection,Morphia,在我们公司,我们在Amazon上部署了一个应用程序,它使用mongo作为数据库,在mongo Java驱动程序上使用Morphia 然而,有时我们会遇到一些通信问题,对mongo的一些查询、插入和更新最终会失败。我们希望告诉morphia(或者更可能是mongo java驱动程序)自动重试失败的命令一定次数,而不考虑原因(无论是网络/连接故障、套接字超时异常,甚至是错误的查询或类似情况) 我们可以尝试将mongo调用封装在try/retry块中,但这需要对代码进行一些重大重构,而且它可能仍然无法

在我们公司,我们在Amazon上部署了一个应用程序,它使用mongo作为数据库,在mongo Java驱动程序上使用Morphia

然而,有时我们会遇到一些通信问题,对mongo的一些查询、插入和更新最终会失败。我们希望告诉morphia(或者更可能是mongo java驱动程序)自动重试失败的命令一定次数,而不考虑原因(无论是网络/连接故障、套接字超时异常,甚至是错误的查询或类似情况)

我们可以尝试将mongo调用封装在try/retry块中,但这需要对代码进行一些重大重构,而且它可能仍然无法捕获morphia对mongo的所有调用

我们在Mongo Java驱动程序文档中找到了一些有趣的选项,例如自动连接和socketKeepAlive,但它们似乎只解决网络故障,而且似乎不适用于我们的设置


我们是否可以使用其他配置选项来实现这一点?如果没有,你们建议我们如何解决这个问题?

驱动程序或morphia中都没有重试命令的功能。您必须自己管理。

驱动程序或morphia中都没有重试命令的功能。你得自己处理