全部产品
阿里云办公

sample-txc-springboot 样例工程

更新时间:2018-08-01 11:53:50

业务逻辑说明

从 A 账户扣款,给 B 账户打款。业务为了模拟应用异常产生,故意先给 B 账户打款,然后从 A 账户扣款后检查 A 账户余额,如果为负值则抛出应用异常导致全局事务回滚。

案例搭建方法

  1. 准备环境

    1. 需要两台 RDS 用于存储账户信息,一台 ECS 用于部署应用。

    2. 在两个 RDS 实例中分别执行 sample-txc-springboot.sql 和 txc_undo_log.sql 完成建表。

  2. 编译工程

    1. 下载源代码到 ECS 上。

    2. 修改逻辑组名。

      在工程中找到 AccConfig.java 文件,在 txcTransactionScaner 方法中修改 GTS 的逻辑组名。

    3. 修改其它资源。

      在工程中找到 application.properties 文件,用相应的资源替换掉配置文件中的xxx。

      注意

      • 需要用主账户的 Access Key ID/Access Key Secret。如果要用的子账户的 Access Key ID/Access Key Secret,需要先用主账户对子账户进行授权。
      • 事务逻辑组名需要用包含 ID 和 Region 信息的全名,例如 gtstest.432242345522.HZ。
  3. sample-txc-springboot 工程根目录下执行 sh build.sh,编译工程。

  4. 运行工程。

    sample-txc-springboot/client/bin 目录下运行 sh pay_run.sh

  5. 测试工程

    1. 打开浏览器访问地址:http://ip:8080/pay

    2. 初始化 A 账户:输入重置金额后点击提交。

    3. 转账操作:输入转账金额后点击提交。

    4. 余额不足后转账失败全局事务回滚。