## 开启分布式事务
1. 由于JPower底层已经集成了seata,所以对于应用服务来说只需要控制是否开启分布式事务即可,具体配置如下:
~~~
jpower:
seata:
enabled: true
~~~
2. 分布式事务默认是不开启的,所以需要配置开启才可使用。
## 如何使用
* 微服务中我们需要maven集成common-transaction
![](https://img.kancloud.cn/c0/8a/c08a2a9b4392590d998db32b30c9c617_623x181.png)
* 在配置文件中需要配置seata服务地址,配置方式如下:
~~~
jpower:
# 是否启用分布式事务(默认不开启)
dev:
seata:
grouplist: localhost:8888
~~~
* 在数据库中需要加入`undo_log`表,表结构如下:
```
CREATE TABLE `undo_log` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`branch_id` bigint(20) NOT NULL,
`xid` varchar(100) NOT NULL,
`context` varchar(128) NOT NULL,
`rollback_info` longblob NOT NULL,
`log_status` int(11) NOT NULL,
`log_created` datetime NOT NULL,
`log_modified` datetime NOT NULL,
`ext` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `ux_undo_log` (`xid`,`branch_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
```
* 开启分布式事务后,在接口的第一层请求方法加上对应的的注解
![](https://img.kancloud.cn/07/de/07de4b4a46a0b363f7bf4faeb6e751e8_1234x472.png)
* 保持seata服务开启状态,启动我们开启分布式事务的服务,这时我们的服务就已经具备了分布式事务的功能。
## 对接nacos配置
* JPower已经写好了对接nacos的配置,我们只需要在`com.wlcb.jpower.module.common.seata.deploy.SeataDeployServiceImpl`类中把注释的内容放开即可。
![](https://img.kancloud.cn/92/d9/92d96079302e556b32ae4f1378a6e186_2692x1324.png)
* 放开这个配置后,我们就可以直接在nacos的配置中心进行seata的配置
* 关于nacos的安装可以参考[Nacos安装](../Nacos安装.md)
- 序言
- 开发环境准备
- 环境要求
- 环境安装
- 基础环境安装
- Nacos安装
- Sentinel安装
- 插件安装
- 导入工程
- 运行工程
- 工程测试
- JPower特性
- 系统启动器
- 多终端令牌认证
- 系统鉴权
- 鉴权API
- 鉴权配置
- API权限配置
- 接口放行配置
- 数据权限
- redis缓存
- 动态网关
- 聚合文档
- SaaS多租户
- 概念
- 使用
- Xss防注入
- 日志记录
- 操作日志&错误日志
- SQL打印
- feign请求日志&配置
- gateway日志
- 服务日志打印
- 导入导出
- 字典查询
- 系统文件上传下载
- 接口监控
- 代码生成器
- 配置文件共享
- Mybatis过滤器
- 配置说明
- 高级实战
- nacos动态配置
- Seata分布式事务
- 简介
- docker启动
- 微服务配置
- 微服务远程调用
- 声明式服务调用 Feign
- 熔断机制 Sentinel
- sentinel流控
- 简介
- 微服务配置
- 配置nacos对接
- APM监控&链路追踪
- 简介
- 安装
- 微服务接入
- SpringBootAdmin监控
- ELK分布式日志追踪系统
- ELK简介
- ELK一键部署
- 微服务日志对接ELK
- JPower-Chat
- 配置说明
- 生产部署
- docker部署
- docker安装
- docker-compose安装
- harbor安装
- 部署步骤
- 版本升级
- 1.0.1升级到2.0.0
- 2.0.0升级到2.0.2
- 2.0.2升级2.1.0
- 2.1.0升级到2.1.1
- 2.1.1升级到2.1.2
- 2.1.2升级到2.1.4