这是我的经验:
我有一个 spring 集成流程,我在其中对 MongoDB 和 MySQL 数据库进行插入:我将数据存储到 Mongo 中,进行一些处理,然后使用 Spring Data 将数据插入 MySQL(两个数据库的插入不在同一类中) )
所有的 repo 、服务、aop 交易和一切都已实现,我需要的是一种在将数据存储到 Mongo 之前开始交易并在完成 mysql 插入后结束交易的方法,这样如果出现任何问题,MySQL 和 Mongo插入将回滚。
希望我能清楚地解释我的问题!提前致谢
最佳答案
事务是对数据库更改的内部列表,因此,不可以,您不能在 2 个数据库中有 1 个事务。
每个数据库需要 1 个事务,如果成功,您可以按顺序提交或单独回滚
须藤:
Create MySQL tansaction
Change MySQL
if Successful
Create Mongo Transaction
change Mongo
if Successful
Commit Mongo changes
Commit MySQL changes
else
rollback Mongo changes
rollback MySQL changes
else
rollback MySQL changes
关于java - 是否可以使用 Spring 在两个不同的数据库(MongoDB 和 MySQL)中进行包含插入的事务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44548299/