V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zxc1234
V2EX  ›  程序员

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

  •  
  •   zxc1234 · Apr 29, 2020 · 2093 views
    This topic created in 2189 days ago, the information mentioned may be changed or developed.

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

    5 replies    2020-04-29 09:20:21 +08:00
    zerozerone
        1
    zerozerone  
       Apr 29, 2020
    spring 并不提供具体的事务实现,只提供了事务的抽象实现,具体交给事务管理器进行提交和回滚,而事务管理器开启事务是在数据源上开启的。所以问题一的答案就很明显了。而要想实现操作多数据源时有事务保证,可以尝试写切面使用编程方式分别开启多个数据源的事务,最后再统一提交
    zerozerone
        2
    zerozerone  
       Apr 29, 2020
    当然也可以使用 JTA 进行多数据源的事务保证,或者其他的分布式事务解决方案
    skypyb
        3
    skypyb  
       Apr 29, 2020
    单机应用操作多个数据源要保证事务的话你只能 2PC 了。
    Ariver
        4
    Ariver  
       Apr 29, 2020 via iPhone
    shuqin2333
        5
    shuqin2333  
       Apr 29, 2020
    多个数据源不就类似于分布式事务了吗
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5801 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 06:03 · PVG 14:03 · LAX 23:03 · JFK 02:03
    ♥ Do have faith in what you're doing.