跳到主要内容

分布式事务使用说明

概述

shoptnt采用seata框架实现分布式事务,shoptnt重写了spring的transaction事务代理,完全无侵入式。

具体实现参见这里:

cn.shoptnt.framework.transaction.SeataAutoConfiguration

同时也支持seata事务注解在二次开发中也可以使用其注解。

部署seata

详见:《部署seata

开关

默认是关闭分布式事务的,如需打开请更改如下配置:

seata:
enabled: true #默认为false,打开改为true

何时需要打开分布式事务?

shoptnt的分库是使用的多数据源

mysql同一个数据库实例下多个database通过srping的事务是可以实现事务的一致性的

但在database分布在多个数据库实例时srping的事务本身无法实现分布式事务,此时需要打开分布式事务

使用示例:

在概述中已经提到,我们实现了spring的transaction事务的seata代理,所以就像往常一样使用@Transaction注解

    @Transactional
public void add(){
//some code
}