开发者社区 > 云原生 > 中间件 > 正文

springboot 2.3.7 和高版本 seata 2.0.0,1.6.1 是不是不兼容?

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

展开
收起
嘟嘟嘟嘟嘟嘟 2024-03-05 10:26:46 104 0
2 条回答
写回答
取消 提交回答
  • 根据您提供的错误信息,Spring Boot 2.3.7似乎与Seata 2.0.0、1.6.1存在兼容性问题。您可以尝试降低Seata版本至与Spring Boot 2.3.x相兼容的版本,或者等待Seata发布兼容新版本Spring Boot的更新。

    2024-03-05 14:36:02
    赞同 1 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    根据提供的信息,您正在使用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存在兼容性问题。建议您尝试以下解决方案:

    1. 升级Seata版本:尝试使用与Spring Boot 2.3.7兼容的最新版本的Seata。您可以查看Seata的官方文档或社区发布的历史版本对照表,以确定与Spring Boot 2.3.7兼容的Seata版本。

    2. 降级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版本。

    3. 检查依赖冲突:确保您的项目中没有其他依赖项与Seata或Spring Boot产生冲突。您可以使用Maven或Gradle等构建工具来检查和管理项目的依赖关系,并解决任何潜在的冲突。

    4. 寻求帮助:如果以上方法都无法解决问题,建议您向Seata的社区或官方支持团队寻求帮助。他们可以提供更具体的指导和支持,以解决您遇到的问题。

    请注意,在实施任何更改之前,请务必备份您的项目和相关数据,以防止意外情况发生。

    2024-03-05 13:56:04
    赞同 展开评论 打赏

为企业提供高效、稳定、易扩展的中间件产品。

相关电子书

更多
《Seata 1.3 新特性以及如何参与社区》 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载