启动注册中心,启动redis ,启动事务管理器 启动mysql 启动微服务1 ,启动微服务2 ** (1)正常事务测试:** 不抛出异常,两边都插入

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

@Override @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 结果:

3 到数据库查看: Block表

Theme表

两个库的表中都插入

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

@Override @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 3 去数据库查看 Block表 没有记录

Theme表

**没有记录,说明回滚成功 **

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