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

前提条件

在使用 sample-txc-simple 样例前,请先完成以下工作:
  • 准备两个 RDS 实例,用户创建数据库。
  • 准备一个 ECS 实例,用于部署本样例。

样例逻辑说明

从 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. 下载样例 txc-yun-sample并上传到 ECS 上。
  3. 修改样例配置。
    1. 找到并打开 sample-txc-simple/src/main/resources 目录下的 txc-client-context.xml 文件。
    2. 将数据库的 urlusernamepassword 的值修改为您实际使用的值。
    3. constructor-arg value 的值替换为申请好的 GTS 事务分组 ID。
    4. accessKeysecretKey 的值修改为您实际账号的值。
      说明 请使用主账户的Access Key ID和Access Key Secret。如果使用RAM子账户的Access Key ID和Access Key Secret,需要先使用主账户对子账户进行授权。
  4. 在 sample-txc-simple 目录下执行 build.sh 命令,编译样例工程。
  5. 在 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. 下载样例 txc-yun-sample并上传到 ECS 上。
  3. 修改样例配置。
    1. 找到并打开 sample-txc-simple/src/main/resources 目录下的 txc-client-context.xml 文件。
    2. 将数据库的 urlusernamepassword 的值修改为您实际使用的值。
    3. accessKeysecretKey 的值修改为您实际账号的值。
      说明 请使用主账户的Access Key ID和Access Key Secret。如果使用RAM子账户的Access Key ID和Access Key Secret,需要先使用主账户对子账户进行授权。
    4. 将 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>                    
  4. 在 sample-txc-simple 目录下执行 build.sh 命令,编译样例工程。
  5. txc-yun-sample/sample-txc-simple/client/bin 目录下执行 run.sh 命令,启动样例。

结果验证

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