TCC-Transaction

以下是关于tcc-transaction框架的使用指南与实现原理的详细说明:

一、TCC-Transaction 使用指南

1. 核心概念
  • Try 阶段:预留资源(如冻结账户余额)。
  • Confirm 阶段:提交事务(如实际扣款)。
  • Cancel 阶段:回滚事务(如释放冻结金额)。
2. 接入步骤

步骤 1:添加依赖

<dependency>
    <groupId>org.mengyun</groupId>
    <artifactId>tcc-transaction-core</artifactId>
    <version>1.2.x</version>
</dependency>

步骤 2:声明 TCC 接口
使用 @Compensable 注解定义 Try/Confirm/Cancel 方法:

public interface PaymentService {
   
   
    @Compensable(
        confirmMethod = "confirmPayment", 
        cancelMethod = "cancelPayment"
    )
    void tryPayment(TransactionContext context, String orderId, BigDecimal amount);

    void confirmPayment(String orderId, BigDecimal amount);

    void cancelPayment(String orderId, BigDecimal amount);
}

步骤 3:配置事务管理器
在 Spring 配置中启用 TCC:

<bean id="transactionManager" class="org.mengyun.tcctransaction.spring.TransactionManagerFactoryBean"/>

步骤 4:业务调用
通过 @Autowired 注入服务并调用:

@Autowired
private PaymentService paymentService;

public void pay(String orderId, BigDecimal amount) {
   
   
    paymentService.tryPayment(null, orderId, amount); // 触发 Try 阶段
}
3. 关键配置项
配置项 作用
tcc.repository 事务日志存储方式(JDBC、Redis等)
recover.duration 事务恢复间隔(默认120秒)
max.retry.count 最大重试次数(默认30次)

二、实现原理

1. 事务执行流程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值