分佈式事務 TCC-Transaction 源碼分析 —— 調試環境搭建

摘要: 原創出處 http://www.iocoder.cn/TCC-Transaction/build-debugging-environment/ 「芋道源碼」歡迎轉載,保留摘要,謝謝!git

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


🙂🙂🙂關注**微信公衆號:【芋道源碼】**有福利:spring

  1. RocketMQ / MyCAT / Sharding-JDBC 全部源碼分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文註釋源碼 GitHub 地址
  3. 您對於源碼的疑問每條留言將獲得認真回覆。甚至不知道如何讀源碼也能夠請教噢
  4. 新的源碼解析文章實時收到通知。每週更新一篇左右
  5. 認真的源碼交流微信羣。

1. 依賴工具

  • Maven
  • Git
  • JDK
  • MySQL
  • IntelliJ IDEA

2. 源碼拉取

從官方倉庫 github.com/changmingxi… Fork 出屬於本身的倉庫。爲何要 Fork ?既然開始閱讀、調試源碼,咱們可能會寫一些註釋,有了本身的倉庫,能夠進行自由的提交。😈sql

使用 IntelliJ IDEAFork 出來的倉庫拉取代碼。拉取完成後,Maven 會下載依賴包,可能會花費一些時間,耐心等待下。數據庫

本文基於 master-1.2.x 分支。api

3. 初始化數據庫

官方提供了兩個 Demo 項目例子:微信

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

考慮到不是全部全部同窗都使用過 Dubbo 服務化框架,咱們以 tcc-transaction-http-sample 項爲例子。app

打開 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,選擇腳本文件,逐個執行。ide

目前數據庫腳本未使用 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 。嗨皮不?!

道友,趕忙上車,分享一波朋友圈!

相關文章
相關標籤/搜索