java 多数据源事务

java,一个service层的方法,涉及多个数据源上的数据修改,怎么让它处于一个事务当中?
或者这样做可行不?
ServiceImpl{

@Transactional(value = "txA")
public methodA(){
     //sql execution on datasource a
    
    //call method B
    methodB();
}

@Transactional(value = "txB", propagation= Propagation.PROPAGATION_REQUIRES_NEW )
public methodB(){
   //sql execution on datasource b
}

}

txA,txB指向不同的数据源

阅读 3.1k
2 个回答

这要用分布式事务 参考atomiko
但是这玩意并发量上不去 可以使用其他柔性事务
具体场景具体分析

如果非要处于一个事务 那就用atomiko 然后配置分布式的事务管理器 service上面transaction注解加上这个事务管理器
网上资料一大堆

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题