文章目录
1、No available service
2023-02-06 09:51:29.885 [TID: N/A] [http-nio-8671-exec-1] INFO io.seata.tm.TransactionManagerHolder - TransactionManager Singleton io.seata.tm.DefaultTransactionManager@254a608b
2023-02-06 09:51:29.900 [TID: N/A] [http-nio-8671-exec-1] WARN c.d.pi.exception.MyExceptionHandler - No available service
io.seata.common.exception.FrameworkException: No available service
at io.seata.core.rpc.netty.AbstractNettyRemotingClient.loadBalance(AbstractNettyRemotingClient.java:266)
解决:逐步排除配置信息,请参考链接: seata异常信息排除
2、Seata报错 can not get cluster name in registry config ‘service.vgroupMapping.default
解决:请参考链接:seata相关问题解决
3、get table meta of the table XXX error: Failed to fetch schema of XXX
解决:数据表中没有主键,请参考链接:表设置主键
4、链路中出现某服务报错,各服务不进行回滚
解决:先查看各服务的XID是否一致。
使用spring-cloud-starter-alibaba-seata,已经实现XID传递,注意配置中禁用feign的hystrix(也就是不能使用hystrix,参考链接:
hystrix线程切换导致threadLocal丢失问题
<!--分布式事务seata-->
<dependency>
<groupId>io.seata</groupId>
<artifactId>seata-spring-boot-starter</artifactId>
<version>${seata.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-seata</artifactId>
<version>${spring.cloud.alibaba.version}</version>
<exclusions>
<exclusion>
<groupId>io.seata</groupId>
<artifactId>seata-all</artifactId>
</exclusion>
<exclusion>
<artifactId>seata-spring-boot-starter</artifactId>
<groupId>io.seata</groupId>
</exclusion>
</exclusions>
</dependency>
feign:
hystrix:
enabled: false
参考链接: 2022年SpringCloud Alibaba Seata1.42整合springboot处理分布式事务排坑版教程
参考链接:Seata分布式事务失效,不生效(事务不回滚)的常见场景