歡迎光臨
每天分享高質量文章

分散式事務 TCC-Transaction 原始碼解析 —— 除錯環境搭建

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

  • 1. 依賴工具

  • 2. 原始碼拉取

  • 3. 初始化資料庫

  • 4. 啟動 capital 專案

  • 5. 啟動 redpacket 專案

  • 6. 啟動 order 專案

  • 666. 彩蛋


友情提示:歡迎關註公眾號【芋道原始碼】。?關註後,拉你進【原始碼圈】微信群和【芋艿】搞基嗨皮。

友情提示:歡迎關註公眾號【芋道原始碼】。?關註後,拉你進【原始碼圈】微信群和【芋艿】】搞基嗨皮。

友情提示:歡迎關註公眾號【芋道原始碼】。?關註後,拉你進【原始碼圈】微信群和【芋艿】】搞基嗨皮。


1. 依賴工具

  • Maven

  • Git

  • JDK

  • MySQL

  • IntelliJ IDEA

2. 原始碼拉取

從官方倉庫 https://github.com/changmingxie/tcc-transaction.git Fork 出屬於自己的倉庫。為什麼要 Fork ?既然開始閱讀、除錯原始碼,我們可能會寫一些註釋,有了自己的倉庫,可以進行自由的提交。?

使用 IntelliJ IDEA 從 Fork 出來的倉庫拉取程式碼。拉取完成後,Maven 會下載依賴包,可能會花費一些時間,耐心等待下。

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

3. 初始化資料庫

官方提供了兩個 Demo 專案例子:

  • tcc-transaction-dubbo-sample

  • tcc-transaction-http-sample

考慮到不是所有所有同學都使用過 Dubbo 服務化框架,我們以 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。

  • 訪問 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 。嗨皮不?!

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

    贊(0)

    分享創造快樂