sample-txc-simple 样例是最简单的 GTS 样例,所需依赖最少。您可以分别在阿里云网络及公网中搭建该样例。

前提条件

在使用 sample-txc-simple 样例前,请先完成以下工作:

样例逻辑说明

从 A 账户转账给 B 账户,其中 A 和 B 分别位于两个数据库中,使用 GTS 事务保证 A 账户和 B 账户的总额始终不变。

搭建样例

  1. 初始化数据库。
    1. txc-yun-sample/sql/ 目录下执行 txc_undo_log.sql,在两个 RDS 实例中分别创建 txc_undo_log 表。
    2. txc-yun-sample/sql/ 目录下执行 sample-txc-simple.sql,在 RDS 1 中创建 user_money_a 表,在 RDS 2 中创建 user_money_b 表。
  2. 修改样例配置。
    1. 找到并打开 sample-txc-simple/src/main/resources 目录下的 txc-client-context.xml 文件。
  3. 在 sample-txc-simple 目录下执行 build.sh 命令,编译样例工程。
  4. 在 sample-txc-simple 目录下执行 run.sh 命令,启动样例。

在公网环境中搭建样例

说明
  • mysql-connector-java 的版本需要和 MySQL 数据库版本匹配。样例的 pom.xml 中推荐添加 5.1.38 版本的依赖,该版本已经在 5.0.55、5.6.16、5.6.21 三个 MySQL 数据库版本上验证过。
  • MySQL 数据库的库名、表名和字段名需要设置为大小写不敏感。
  1. 初始化数据库。
    1. 在两个 RDS 实例上分别安装 MySQL,并创建数据库 db1 和 db2。
    2. txc-yun-sample/sql/ 目录下执行 txc_undo_log.sql,在两个 RDS 实例中分别创建 txc_undo_log 表。
    3. txc-yun-sample/sql/ 目录下执行 sample-txc-simple.sql,在 RDS 1 中创建 user_money_a 表,在 RDS 2 中创建 user_money_b 表。
  2. 修改样例配置。
    1. 找到并打开 sample-txc-simple/src/main/resources 目录下的 txc-client-context.xml 文件。
    2. 将 Scaner 修改为如下配置。
      <bean class="com.taobao.txc.client.aop.TxcTransactionScaner">
          <constructor-arg value="myapp"/>
          <constructor-arg value="txc_test_public.1129****3855****.QD"/>
          <constructor-arg value="1" />
          <constructor-arg value="https://test-cs-gts.aliyuncs.com" />
      </bean>                    
  3. 在 sample-txc-simple 目录下执行 build.sh 命令,编译样例工程。
  4. txc-yun-sample/sample-txc-simple/client/bin 目录下执行 run.sh 命令,启动样例。

结果验证

启动样例后,查看运行结果。