zdd123456的gravatar头像
zdd123456 2017-02-27 17:53:24

java多数据源事务如何处理?

配置了2个数据源,然后A service里面有Bservice 和 C service 他们2个都是修改不同数据库,测试异常回滚,只能回滚一个数据库,第二个则没办法回滚,这个如何解决呢?

 

 @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
    @Override
    public void addUser(User user) {
        
        try{
            
        //B数据源    
        oldUserService.addUser(user);
        //oldUserMapper.addUser(user);
        
        //A数据源
        userMapper.addUser(user);
        
        throw new RuntimeException();
        
        }catch(Exception e){
            System.out.println(e.getMessage());
            
            throw new RuntimeException();
        }
    }

所有回答列表(6)
低调人的gravatar头像
低调人  LV38 2017年2月28日

spring jta 来控制是可以的 你可以上网搜一下

这个你参考一下  http://blog.csdn.net/kkdelta/article/details/7264752

评论(0) 最佳答案
wentao的gravatar头像
wentao  LV24 2017年2月28日

放在同一service里呢?

宛若重生的gravatar头像
宛若重生  LV19 2017年2月28日

事务肯定要配在service层啊,数据层肯定不行。

Tpfly0527的gravatar头像
Tpfly0527  LV2 2017年3月1日

同问   技术瓶颈了  很是着急

sayHelloWorld的gravatar头像
sayHelloWorld  LV22 2017年3月1日

https://my.oschina.net/u/3039671/blog/834997

wendu24的gravatar头像
wendu24  LV5 2017年3月2日

不同的数据源 可以使用一个事务???????

顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友