全部产品
阿里云办公

sample-txc-simple 样例工程

更新时间:2018-03-30 11:27:32

业务逻辑说明

该样例是 GTS 的入门样例,案例的业务逻辑是从 A 账户转账给 B 账户,其中 A 和 B 分别位于两个数据库中,使用 GTS 事务保证 A 和 B 账户钱的总数始终不变。

阿里云环境搭建方法

1. 准备部署环境

  1. 准备两台 RDS (经典网络)和一台 ECS (经典网络), 用于部署本应用。

  2. 在两个 RDS 实例中分别创建执行 txc_undo_log 表。

  3. 在 RDS1 中创建 user_money_a 表,在 RDS2 中创建 user_money_b 表。

    建表语句位于 txc-yun-sample/sql/sample-txc-simple.sql 文件中.

2. 修改配置。

  1. 数据源配置。

    1. 把该工程拷贝到 ECS 服务器上。

    2. 找到 sample-txc-simple/src/main/resources 目录下的 txc-client-context.xml 文件,对该文件中的两个数据源信息进行修改,分别替换为两个 RDS 的数据源。

  2. scanner 配置。

    1. 在 txc-client-context.xml 文件中将 <constructor-arg value="xxx"/> 的 xxx 替换为申请好的 GTS 事务分组 ID。

    2. 在 txc-client-context.xml 文件中将 <property name=" accessKey" value="xxx"/><property name=" secretKey" value="xxx"/> 的 xxx 分别替换为您阿里云账户的 Access Key ID 和 Access Key Secret。

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. 准备一台能连接公网的电脑,配置 Java 环境和 Maven 环境。

  2. 安装 MySQL 数据库软件,并创建两个数据库 db1 和 db2。

  3. 在 db1 和 db2 中分别创建 txc_undo_log 表。

  4. 在 db1 库中创建 user_money_a 表,在 db2 库中创建 user_money_b 表。

    建表语句位于 txc-yun-sample/sql/sample-txc-simple.sql 文件中。

2. 修改配置

  1. 下载 txc-yun-sample 到本地。

  2. 数据源配置。

    打开 txc-yun-sample/sample-txc-simple/src/main/resources 目录下的 txc-client-context.xml 文件,将数据源的 url、username、password 修改为实际值。

  3. scanner 配置。

    将 txc-client-context.xml 中的 scanner 配置修改为:

    1. <bean class="com.taobao.txc.client.aop.TxcTransactionScaner">
    2. <constructor-arg value="myapp"/>
    3. <constructor-arg value="txc_test_public.1129361738553704.QD"/>
    4. <constructor-arg value="1" />
    5. <constructor-arg value="https://test-cs-gts.aliyuncs.com" />
    6. </bean>

3. 编译工程

  • Mac OS 或 Linux 系统

    sample-txc-simple 目录下执行 build.sh 命令。

  • Windows 系统

    sample-txc-simple 目录下执行 build.bat 命令。

4. 运行样例

  • Mac OS 或 Linux 系统

    txc-yun-sample/sample-txc-simple/client/bin 目录下执行 run.sh 命令。

  • Windows 系统

    启动 cmd.exe,在 txc-yun-sample/sample-txc-simple/client/bin 目录下执行 start.bat 命令。