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.2k
2 个回答

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

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

推荐问题