seata springcloud整合教程与遇到的坑
作者:路过君_P 时间:2023-09-19 03:11:06
SEATA概要
seata 是alibaba 出的一款分布式事务管理器,他有侵入性小,实现简单等特点。我们能够使用seata 实现分布式事务管理,
是微服务必备的组件。他可以实现在微服务之间的事务管理,也可以实现多个数据源的事务管理。
seata 在阿里内部,和众多的公司都有应用,因此我们可以放心的使用它。
依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-seata</artifactId>
</dependency>
建表
AT模式客户端服务的数据库都需要建表undo_log
否则报错
java.sql.SQLSyntaxErrorException: Table ‘psr_enterprise_control_test.undo_log' doesn't exist
官方GIT脚本文件
-- for AT mode you must to init this sql for you business database. the seata server not need it.
CREATE TABLE IF NOT EXISTS `undo_log`
(
`branch_id` BIGINT NOT NULL COMMENT 'branch transaction id',
`xid` VARCHAR(128) NOT NULL COMMENT 'global transaction id',
`context` VARCHAR(128) NOT NULL COMMENT 'undo_log context,such as serialization',
`rollback_info` LONGBLOB NOT NULL COMMENT 'rollback info',
`log_status` INT(11) NOT NULL COMMENT '0:normal status,1:defense status',
`log_created` DATETIME(6) NOT NULL COMMENT 'create datetime',
`log_modified` DATETIME(6) NOT NULL COMMENT 'modify datetime',
UNIQUE KEY `ux_undo_log` (`xid`, `branch_id`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8 COMMENT ='AT transaction mode undo table';
配置
application.yml
seata:
enabled: true
enable-auto-data-source-proxy: true
tx-service-group: my_test_tx_group # 与seata.service.vgroup-mapping一致
registry:
type: nacos # 与seata注册中心相同
nacos:
application: seata-server
server-addr: ${PSR_NACOS:localhost:8848}
namespace: test
group: application
cluster: default
config:
type: nacos # 与seata配置中心相同
nacos:
server-addr: ${PSR_NACOS:localhost:8848}
group: seata
namespace: test
service:
vgroup-mapping:
my_test_tx_group: default # 事务分组名
disable-global-transaction: false
client:
rm:
report-success-enable: false
启用全局事务
@GlobalTransactional
来源:https://blog.csdn.net/zhoudingding/article/details/118518708
标签:seata,springcloud
0
投稿
猜你喜欢
普通类注入不进spring bean的解决方法
2021-06-07 19:22:41
Java中遍历ConcurrentHashMap的四种方式详解
2023-11-17 08:54:41
springboot整合shardingsphere和seata实现分布式事务的实践
2021-08-10 04:28:37
Python安装Jupyter Notebook配置使用教程详解
2023-08-31 02:52:03
Java 实现微信和支付宝支付功能
2023-03-08 23:18:04
详解Android中AsyncTask的使用方法
2023-10-08 04:24:51
Spring Cloud Config RSA简介及使用RSA加密配置文件的方法
2023-11-28 22:39:26
Android 开发中Volley详解及实例
2023-07-21 00:12:19
Android AutoCompleteTextView控件基本用法示例
2022-04-05 08:53:43
详谈Java几种线程池类型介绍及使用方法
2023-10-13 03:27:30
Java中包装类和Arrays类的详细介绍
2023-12-03 22:04:13
Android 中ScrollView与ListView冲突问题的解决办法
2022-06-15 04:31:46
简述Mybatis增删改查实例代码
2023-03-06 18:07:53
java开发之内部类的用法
2023-02-04 21:30:07
Java8中Optional类型和Kotlin中可空类型的使用对比
2023-07-29 07:49:21
Java Stopwatch类,性能与时间计时器案例详解
2023-07-24 04:08:50
详解Java中restTemplate的使用
2023-06-19 23:20:29
C# 多线程学习之基础入门
2022-11-08 05:38:13
Android Flutter实现3D动画效果示例详解
2022-04-12 19:34:35
Java 单例模式的实现资料整理
2022-05-29 21:27:33