2017-06-14 52 views
0

这里是我的塞纳里奥:是否有可能使用Spring在两个不同的数据库(MongoDB和MySQL)中进行插入操作?

我有一个春天intergation流,在我做的MongoDB和MySQL数据库插入:我将数据存储到蒙戈,做一些treatements然后用春数据(插入插入数据到MySQL两个databeses不在同一类)

全部回购,服务,AOP交易,一切都实现,我需要的是一个将数据存储到蒙戈之前启动一个事务,并完成了MySQL插入后结束它的方式,使如果发生任何问题,MySQL和Mongo插入将会回滚。

希望我很清楚地解释我的消息!在此先感谢

+0

交易是更改数据库的内部列表,这样,没有你在2个数据库中不能有1个事务。您需要每个数据库1个事务,如果成功,您可以按顺序执行或单独回退 – MikeT

+0

谢谢@MikeT 因此,我需要一种方法来记忆mongo中存储的数据,然后在插入MySQL数据库时遇到问题时删除它们 – Belham

+0

它取决于您使用的mongo驱动程序是否支持事务 – MikeT

回答

0

事务是数据库更改的内部列表,因此,不能在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 
相关问题