之前介绍了v3.0的demo本地运行demo。 官方已经不再维护3.0版本。
环境搭建
- 参考网址
https://github.com/codingapi/tx-lcn
https://github.com/codingapi/dubbo-lcn-demo
前置准备工作
-
安装redis,并启动
-
安装eureka,并启动
-
按照zookeeper,并启动
-
安装mysql,并启动 执行如下脚本
DROP TABLE IF EXISTS `t_test`;
CREATE TABLE `t_test` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
服务端 tx-manager
-
下载安装包 tx-manager.zip(地址 http://pan.baidu.com/s/1cLKAeE 此处我下载的是tx-manager-4.1.0.zip)
-
解压tx-manager-4.1.0.zip,修改eureka和redis地址
-
执行命令 java -jar tx-manager-4.1.0.jar
-
浏览器访问 http://127.0.0.1:8899/index.html
客户端demo
- 下载源代码,执行命令
git clone https://github.com/codingapi/dubbo-lcn-demo.git
git checkout v4.1.0 切记切换到 v4.1.0 分支
-
导入项目到开发工具,我使用的是idea
-
测试项目为dubbo-mybatis
-
修改 transaction_mybatis_demo2
applicationContext_dubbo_provider.xml 中 zookeeper地址
db.properties 中数据库相关信息
-
启动 com.demo.main.MyBatisDemo2
-
修改 transaction_mybatis_demo1
applicationContext_dubbo_provider.xml 中 zookeeper地址
db.properties 中数据库相关信息
-
将web文件夹重命名后放到src/main目录下,重新构建maven项目,再配置tomcat进行部署。
-
启动浏览器 访问 http://localhost:18080/tmv4/save
-
说明事务已经回滚了,数据也没有插入到数据库。
-
修改 transaction_mybatis_demo1 项目中的
com.demo.service.impl.TestServiceImpl
注释掉int v = 100/0;
再次启动并访问 http://localhost:18080/tmv4/save