关于 spring 事务数据源的问题请教

2020-04-29 00:15:17 +08:00
 zxc1234

1.spring 同一个事务可以操作多个数据源吗? 2.如果不可以,为什么不可以呢? 3.spring 这样子设计的目的是什么呢? 谢谢~

1599 次点击
所在节点    程序员
5 条回复
zerozerone
2020-04-29 00:30:59 +08:00
spring 并不提供具体的事务实现,只提供了事务的抽象实现,具体交给事务管理器进行提交和回滚,而事务管理器开启事务是在数据源上开启的。所以问题一的答案就很明显了。而要想实现操作多数据源时有事务保证,可以尝试写切面使用编程方式分别开启多个数据源的事务,最后再统一提交
zerozerone
2020-04-29 00:35:03 +08:00
当然也可以使用 JTA 进行多数据源的事务保证,或者其他的分布式事务解决方案
skypyb
2020-04-29 06:15:45 +08:00
单机应用操作多个数据源要保证事务的话你只能 2PC 了。
Ariver
2020-04-29 08:52:23 +08:00
shuqin2333
2020-04-29 09:20:21 +08:00
多个数据源不就类似于分布式事务了吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/667128

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX