Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.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
Java 分布式数据库事务_Java_Database_Transactions_Distributed Transactions - Fatal编程技术网

Java 分布式数据库事务

Java 分布式数据库事务,java,database,transactions,distributed-transactions,Java,Database,Transactions,Distributed Transactions,我正在尝试写入3个不同的数据库:MySQL、Oracle和MongoDB。要求所有3个数据库都应处于一致状态。例如,如果对MySQL和Oracle的写入成功,而mongo失败。网络故障,那么应该有一种方法将故障记录写回mongo,以保持所有3条记录的一致性。最好的方法是什么?我是否应该实现一个队列来存储失败的记录,并使用一些后台进程从队列中读取记录,然后再次尝试将其写入失败的数据库?您最好的选择可能是。我个人没有使用过它,但它似乎是分布式事务的Java行业标准。User,您指的是2阶段提交吗?唯

我正在尝试写入3个不同的数据库:MySQL、Oracle和MongoDB。要求所有3个数据库都应处于一致状态。例如,如果对MySQL和Oracle的写入成功,而mongo失败。网络故障,那么应该有一种方法将故障记录写回mongo,以保持所有3条记录的一致性。最好的方法是什么?我是否应该实现一个队列来存储失败的记录,并使用一些后台进程从队列中读取记录,然后再次尝试将其写入失败的数据库?

您最好的选择可能是。我个人没有使用过它,但它似乎是分布式事务的Java行业标准。

User,您指的是2阶段提交吗?唯一的问题是我不知道如何让mongodb参与整个分布式事务,因为它实际上不支持自动分布式事务