Nacos+Seata+Spring boot+Mybatis plus多数据源事务控制
date
Dec 12, 2019
URL
slug
nacos-seata-springboot-mybatisplus-many
status
Published
tags
nacos
springboot
seata
summary
Nacos+Seata+Spring boot+Mybatis plus多数据源事务控制
type
Post
问题
使用Mybatis plus多数据源无法控制事务.
解决
使用Nacos为配置中心,Seata分布式事务管理.
Nacos配置
单机模式下运行Nacos
Linux/Unix/MacStandalone means it is non-cluster Mode. * sh startup.sh -m standalone
Windowscmd startup.cmd 或者双击 startup.cmd 文件
使用mysql
1.安装数据库,版本要求:5.6.5+
2.初始化mysql数据库,数据库初始化文件:nacos-mysql.sql
3.修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。
conf\application.properties
Nacos项目中的配置
pom.xml
application.yml
Seata配置
建表
全局事务会话信息由3块内容构成,全局事务–>分支事务–>全局锁,对应表global_table、branch_table、lock_table,
mysql建表脚本存放于module seata-server–>conf–>db_store.sql
修改store.mode
打开seata-server–>conf–>file.conf,修改store.mode=“db”;也可以在启动时加命令参数-m db指定。
提交配置到nacos
运行
conf/nacos-config.sh
将nacos-config.txt
的内容发送到nacos中启动
- 源码启动: 执行Server.java的main方法
- 命令启动: seata-server.sh -h 127.0.0.1 -p 8091 -m db -n 1 -DSEATA_ENV=test
Seata项目中的配置
pom.xml
resource/registry.conf
对应nacos的IP端口application.yml