⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 http://www.iocoder.cn/TCC-Transaction/build-debugging-environment/ 「芋道源码」欢迎转载,保留摘要,谢谢!

本文主要基于 TCC-Transaction 1.2.3.3 正式版


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

1. 依赖工具

  • Maven
  • Git
  • JDK
  • MySQL
  • IntelliJ IDEA

2. 源码拉取

从官方仓库 https://github.com/changmingxie/tcc-transaction.git Fork 出属于自己的仓库。为什么要 Fork ?既然开始阅读、调试源码,我们可能会写一些注释,有了自己的仓库,可以进行自由的提交。😈

使用 IntelliJ IDEAFork 出来的仓库拉取代码。拉取完成后,Maven 会下载依赖包,可能会花费一些时间,耐心等待下。

本文基于 master-1.2.x 分支。

3. 初始化数据库

官方提供了两个 Demo 项目例子:

  • tcc-transaction-dubbo-sample
  • tcc-transaction-http-sample

考虑到不是所有所有同学都使用过 Dubbo 服务化框架,我们以 tcc-transaction-http-sample 项目为例子。

旁白君,一定注意,是 tcc-transaction-http-sample 项目,千万千万千万不要用错了!!!

打开 tcc-transaction-http-sample/src/main/dbscripts 目录,有四个 SQL 脚本文件:

  • create_db_cap.sql :tcc-transaction-http-capital 项目数据库初始化脚本。
  • create_db_ord.sql :tcc-transaction-http-order 项目数据库初始化脚本。
  • create_db_red.sql :tcc-transaction-http-redpacket 项目数据库初始化脚本。
  • create_db_tcc.sql :tcc-transaction 底层数据库初始化脚本。

笔者使用 Navicat 进行数据库脚本执行。使用方式为:Navicat 菜单 Connection -> Execute SQL File,选择脚本文件,逐个执行。

目前数据库脚本未使用 USE 语句选择对应数据库,每个脚本都需要进行添加。以 create_db_cap.sql 举例子:

CREATE DATABASE `tcc_cap` /*!40100 DEFAULT CHARACTER SET utf8 */;
-- 新增 USE
USE `tcc_cap`;

4. 启动 capital 项目

  1. 修改项目下 jdbc.properties 文件,填写成你的数据库地址

  2. 使用 IDEA 配置 Tomcat 进行启动。这里要注意下:

    // appcontext-service-provider.xml
    <bean id="httpServer"
    class="org.springframework.remoting.support.SimpleHttpServerFactoryBean">
    <property name="contexts">
    <util:map>
    <entry key="/remoting/CapitalTradeOrderService" value-ref="capitalTradeOrderServiceExporter"/>
    <entry key="/remoting/CapitalAccountService" value-ref="capitalAccountServiceExporter"/>
    </util:map>
    </property>
    <property name="port" value="8081"/>
    </bean>

    • 默认开启 8081 端口提供接口服务。所以配置 Tomcat 的端口不能再使用 8081,避免冲突。例如,笔者使用 18081。
  3. 访问 http://127.0.0.1:18081/,看到 "hello tcc transacton http sample capital",代表项目启动完成。18081 为你填写的 Tomcat 端口

5. 启动 redpacket 项目

同 tcc-transaction-http-capital 项目。

6. 启动 order 项目

  1. 修改项目下 jdbc.properties 文件,填写成你的数据库地址
  2. 使用 IDEA 配置 Tomcat 进行启动。
  3. 访问 http://127.0.0.1:8080/,看到 "sample 说明...",代表项目启动完成。8080 为你填写的 Tomcat 端口
  4. 点击 [商品列表链接] -> [购买] -> [支付],如果看到 "支付成功" 或者 "支付失败",恭喜你🎉,你已经成功搭建完你的调试环境。愉快的开始玩耍把。

666. 彩蛋

知识星球

调试环境搭建是阅读源码的第一步,如果你碰到无法搭建成功的情况,请给笔者公众号( 芋道源码 )留言。笔者会给你 1:1 的高级( 搞基 )支持。

另外这是一个系列文,本系列更新 TCC-Transaction ,下一个系列更新 ByteTCC 。嗨皮不?!

道友,赶紧上车,分享一波朋友圈!

文章目录
  1. 1. 1. 依赖工具
  2. 2. 2. 源码拉取
  3. 3. 3. 初始化数据库
  4. 4. 4. 启动 capital 项目
  5. 5. 5. 启动 redpacket 项目
  6. 6. 6. 启动 order 项目
  7. 7. 666. 彩蛋