当前位置:   article > 正文

2024年【Seata】分布式事务框架Seata踩坑集锦,Java面试2024_seata 坑

seata 坑

最后

由于文案过于长,在此就不一一介绍了,这份Java后端架构进阶笔记内容包括:Java集合,JVM、Java并发、微服务、SpringNetty与 RPC 、网络、日志 、Zookeeper 、Kafka 、RabbitMQ 、Hbase 、MongoDB、Cassandra 、Java基础、负载均衡、数据库、一致性算法、Java算法、数据结构、分布式缓存等等知识详解。

image

本知识体系适合于所有Java程序员学习,关于以上目录中的知识点都有详细的讲解及介绍,掌握该知识点的所有内容对你会有一个质的提升,其中也总结了很多面试过程中遇到的题目以及有对应的视频解析总结。

image

image

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) ~[na:1.8.0_221]

at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_221]

… 39 common frames omitted

Seata-All 在引入相应的jar包的时候都是 <scope>provide</scope>

在这里插入图片描述

说明我们要引入对应的依赖才行; 按需引入;

同理 如果用的是Redis的注册中心也要引入redis的客户端

com.alibaba.nacos

nacos-client

1.3.0

redis.clients

jedis

2.9.0


坑3 NotSupportYetException: not support register type: null


在引入seata的过程中,启动的时候报如下的错误

nested exception is io.seata.common.exception.NotSupportYetException:

not support register type: null

io.seata.common.exception.ShouldNeverHappenException:

Can’t find any object of class org.springframework.context.ApplicationContext

他的原因就是SpringApplicationContextProvider没有被执行到

在这里插入图片描述

因为我的是用seata-spring-boot-starter方式启动的;然后又手贱配置了GlobalTransactionScanner

在这里插入图片描述

那么这个GlobalTransactionScanner开始加载的时候,SpringApplicationContextProvider并没有被执行;GlobalTransactionScanner需要依赖于SpringApplicationContextProvider, 所以报错了

解决方法: seata-spring-boot-starter方式启动已经自动加载了GlobalTransactionScannerSeataAutoConfiguration

在这里插入图片描述

如果一定要自己手动加载的话 ,请加上注解

@DependsOn({BEAN_NAME_SPRING_APPLICATION_CONTEXT_PROVIDER, BEAN_NAME_FAILURE_HANDLER})

在这里插入图片描述

但是,没有必要手动配置

配置 GlobalTransactionScanner,使用 seata-all 时需要手动配置,使用 seata-spring-boot-starter 时无需额外处理。


坑4 can not register RM,err:can not connect to services-server.


之前一直好好的,过几天启动就报这个错了,后来我看了一下注册中心,注册了好几个ip;

都是之前注册过的,不知道为啥没有被清理;

io.seata.common.exception.FrameworkException:

can not register RM,err:can not connect to services-server.

在这里插入图片描述

解决方案 :把key删掉重新启动 seata-server


坑5 Could not initialize class io.seata.rm.datasource.undo.UndoLogParserFactory$SingletonHolder


接入Seata的时候 有报下面的错误

java.lang.NoClassDefFoundError:

Could not initialize class io.seata.rm.datasource.undo.UndoLogParserFactory$SingletonHolder

表面上看起来是那个异常,但是你打个断点进去查看会发现最终的异常是下面这个

java.lang.NoClassDefFoundError:

com/fasterxml/jackson/databind/ObjectMapper

Ending

Tip:由于文章篇幅有限制,下面还有20个关于MySQL的问题,我都复盘整理成一份pdf文档了,后面的内容我就把剩下的问题的目录展示给大家看一下

如果觉得有帮助不妨【转发+点赞+关注】支持我,后续会为大家带来更多的技术类文章以及学习类文章!(阿里对MySQL底层实现以及索引实现问的很多)

吃透后这份pdf,你同样可以跟面试官侃侃而谈MySQL。其实像阿里p7岗位的需求也没那么难(但也不简单),扎实的Java基础+无短板知识面+对某几个开源技术有深度学习+阅读过源码+算法刷题,这一套下来p7岗差不多没什么问题,还是希望大家都能拿到高薪offer吧。

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

下来p7岗差不多没什么问题,还是希望大家都能拿到高薪offer吧。

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/1018668
推荐阅读
相关标签
  

闽ICP备14008679号