springboot 2.3.7 和高版本 seata 2.0.0,1.6.1 是不是不兼容?
都提示 failed to load configurationCacheProvider:size = 2 原先是 1.4.2
看了下报错的地方是说 InvocationHandlerAdapter 有两种定义。导致 ConfigurationFactory 无法创造配置。
环境信息,JDK 17, OpenJDK 64-Bit Server VM Temurin-19.0.2+7 (build 19.0.2+7, mixed mode, sharing)
Linux
POM 配置:spring-cloud-starter-alibaba-seata@2.2.10-RC2 排除 seata-all,seata-spring-boot-starter
seata-all/seata-spring-boot-starter @ 2.0.0 或者 1.6.1(1.6.1 看 spring-cloud-alibaba 官方文档提示和 spring boot 2.3.x 兼容)
12:59:32.058 [main] ERROR io.seata.config.ConfigurationFactory 146- failed to load configurationCacheProvider:size = 2
java.lang.IllegalStateException: size = 2
at net.bytebuddy.matcher.FilterableList$AbstractBase.getOnly(FilterableList.java:139)
at net.bytebuddy.implementation.InvocationHandlerAdapter.apply(InvocationHandlerAdapter.java:235)
at net.bytebuddy.implementation.InvocationHandlerAdapter$ForInstance$Appender.apply(InvocationHandlerAdapter.java:362)
at net.bytebuddy.dynamic.scaffold.TypeWriter$MethodPool$Record$ForDefinedMethod$WithBody.applyCode(TypeWriter.java:708)
at net.bytebuddy.dynamic.scaffold.TypeWriter$MethodPool$Record$ForDefinedMethod$WithBody.applyBody(TypeWriter.java:693)
at net.bytebuddy.dynamic.scaffold.TypeWriter$MethodPool$Record$ForDefinedMethod.apply(TypeWriter.java:600)
at net.bytebuddy.dynamic.scaffold.TypeWriter$Default$ForCreation.create(TypeWriter.java:5751)
at net.bytebuddy.dynamic.scaffold.TypeWriter$Default.make(TypeWriter.java:2166)
at net.bytebuddy.dynamic.scaffold.subclass.SubclassDynamicTypeBuilder.make(SubclassDynamicTypeBuilder.java:232)
at net.bytebuddy.dynamic.scaffold.subclass.SubclassDynamicTypeBuilder.make(SubclassDynamicTypeBuilder.java:204)
at net.bytebuddy.dynamic.DynamicType$Builder$AbstractBase.make(DynamicType.java:3659)
at net.bytebuddy.dynamic.DynamicType$Builder$AbstractBase$Delegator.make(DynamicType.java:3897)
at io.seata.config.ConfigurationCache.proxy(ConfigurationCache.java:129)
at io.sea
根据您提供的错误信息,Spring Boot 2.3.7似乎与Seata 2.0.0、1.6.1存在兼容性问题。您可以尝试降低Seata版本至与Spring Boot 2.3.x相兼容的版本,或者等待Seata发布兼容新版本Spring Boot的更新。
根据提供的信息,您正在使用Spring Boot 2.3.7和Seata 2.0.0或1.6.1。报错信息显示无法加载配置缓存提供者(ConfigurationCacheProvider),并且出现了InvocationHandlerAdapter定义不一致的问题。
这个问题可能是由于Seata版本与Spring Boot版本不兼容导致的。Seata 2.0.0和1.6.1版本可能与Spring Boot 2.3.7存在兼容性问题。建议您尝试以下解决方案:
升级Seata版本:尝试使用与Spring Boot 2.3.7兼容的最新版本的Seata。您可以查看Seata的官方文档或社区发布的历史版本对照表,以确定与Spring Boot 2.3.7兼容的Seata版本。
降级Spring Boot版本:如果您无法找到与Seata 2.0.0或1.6.1兼容的Spring Boot版本,您可以考虑降级Spring Boot的版本,以便与Seata 2.0.0或1.6.1兼容。您可以查阅Seata的官方文档或社区发布的版本对照表,以确定与Seata 2.0.0或1.6.1兼容的Spring Boot版本。
检查依赖冲突:确保您的项目中没有其他依赖项与Seata或Spring Boot产生冲突。您可以使用Maven或Gradle等构建工具来检查和管理项目的依赖关系,并解决任何潜在的冲突。
寻求帮助:如果以上方法都无法解决问题,建议您向Seata的社区或官方支持团队寻求帮助。他们可以提供更具体的指导和支持,以解决您遇到的问题。
请注意,在实施任何更改之前,请务必备份您的项目和相关数据,以防止意外情况发生。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。