springCloud分布式事务实战(十)分布式事务综合大测试(全,共10篇)

启动注册中心,启动redis ,启动事务管理器
启动mysql 启动微服务1 ,启动微服务2

(1)正常事务测试:

不抛出异常,两边都插入

1 设计没有故障整合服务
@TxTransaction(isStart=true) //关键 4

@Overridebr/>@Transactional
public int saveBlockTheme(Block block, Theme theme) {
// return blockDao.saveBlock(name, blockDesc);

    int rs1 = blockDao.saveBlock("jwg1", "111");// 3 保存1

    int rs2 = themeClient.saveTheme("jwg2", "111", 1);// 4 保存2

    // int v = 100/0; //没有故障

    return rs1 + rs2;

}

}
2 在浏览器输入:
http://localhost:8020/saveBlockTheme
结果:
springCloud分布式事务实战(十)分布式事务综合大测试(全,共10篇)

3 到数据库查看:
Block表
springCloud分布式事务实战(十)分布式事务综合大测试(全,共10篇)

Theme表
springCloud分布式事务实战(十)分布式事务综合大测试(全,共10篇)

两个库的表中都插入

(2)非正常事务测试
认为抛出异常,两边都不插入
1设计有故障服务
@TxTransaction(isStart=true) //关键 4

@Overridebr/>@Transactional
public int saveBlockTheme(Block block, Theme theme) {
// return blockDao.saveBlock(name, blockDesc);

    int rs1 = blockDao.saveBlock("jwg1", "111");// 3 保存1

    int rs2 = themeClient.saveTheme("jwg2", "111", 1);// 4 保存2

     int v = 100/0; //故障

    return rs1 + rs2;

}

}
2 在浏览器输入:
http://localhost:8020/saveBlockTheme
springCloud分布式事务实战(十)分布式事务综合大测试(全,共10篇)
3 去数据库查看
Block表
springCloud分布式事务实战(十)分布式事务综合大测试(全,共10篇)
没有记录

Theme表
springCloud分布式事务实战(十)分布式事务综合大测试(全,共10篇)springCloud分布式事务实战(十)分布式事务综合大测试(全,共10篇)

没有记录,说明回滚成功

总结:
通过10篇文章的论述,成功实现了基于springcloud分布式微服务的分布式事务管理设计,实现和测试。希望在黑暗中摸索的同学有些帮助。

猜你喜欢

转载自blog.51cto.com/14048134/2312473
今日推荐