1 seata依赖没找到
'dependencies.dependency.version' for com.alibaba.cloud:spring-cloud-starter-alibaba-seata:jar is missing. @ line 126, column 21
错误原因:未指定具体的seata版本
解决
<!-- https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-starter-alibaba-seata --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-seata</artifactId><version>2021.1</version><exclusions><!--版本较低,1.3.0,因此排除--><exclusion><artifactId>seata-spring-boot-starter</artifactId><groupId>io.seata</groupId></exclusion></exclusions></dependency><!-- https://mvnrepository.com/artifact/io.seata/seata-spring-boot-starter --><dependency><groupId>io.seata</groupId><artifactId>seata-spring-boot-starter</artifactId><version>1.4.2</version></dependency>
2 applicationId: null, txServiceGroup: null-seata-service-group
错误原因:未指定当前服务名
解决:
spring:application:name: xxx
3 can not get cluster name in registry config ‘service.vgroupMapping.xxx-seata-service-group‘
错误原因: 事务组配置错误,yml没有和配置文件registry.conf中正确对应
解决:
yml配置
tx-service-group: seata-demo # 事务组名称service:vgroup-mapping:seata-demo: BJ
conf配置
nacos {application = "seata-server"serverAddr = "1.27.0.0.1:8848"group = "DEFAULT_GROUP"namespace = ""cluster = "BJ"username = "nacos"password = "nacos"}
}
nacos中事务组配置
4 seata报错: 0304 register RM failed.
错误原因:linux部署 启动参数错误 0304代表内网错误 正确的启动参数为:
seata-server.sh -h {ip} -p 8091 不能直接使用seata-server.sh
5 @GlobalTransactional 未生效
1 原因: @GlobalTransactional 是通过 AOP 实现的,只有通过代理调用的方法才会被 AOP 增强。不能使用this
2 多个服务间的调用所有相关服务都必须配置seata