问题:在搭建分布式事务seata版本时报错,提示 NotSupportYetException: not support register type: null;从异常提示可以看出应该是版本兼容问题

Exception in thread "main" io.seata.common.exception.NotSupportYetException: not support register type: nullat io.seata.config.ConfigurationFactory.buildConfiguration(ConfigurationFactory.java:80)at io.seata.config.ConfigurationFactory.getInstance(ConfigurationFactory.java:65)at io.seata.server.metrics.MetricsManager.init(MetricsManager.java:49)at io.seata.server.Server.main(Server.java:56)Caused by: java.lang.IllegalArgumentException: illegal type:nullat io.seata.config.ConfigType.getType(ConfigType.java:62)at io.seata.config.ConfigurationFactory.buildConfiguration(ConfigurationFactory.java:78)

那么检查pom.xml文件,发现版本是SpringCloudAlibaba-2.1.0seata版本是seata-0.9.0,但是此时引入seata-0.9.0版本引入不了@GlobalTransactional注解,所以果断升级seata-1.3.0版本,就可以使用@GlobalTransactional注解,但是在启动时项目时却报出上述异常信息。

注意:为什么果断升级seata-1.3.0
因为官方文档最新显示seata-1.3.0,截图所示:

重新引入seata-1.3.0,如下所示:

     <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-seata</artifactId><exclusions><exclusion><artifactId>seata-all</artifactId><groupId>io.seata</groupId></exclusion></exclusions></dependency><dependency><groupId>io.seata</groupId><artifactId>seata-all</artifactId><version>1.3.0</version></dependency>

结果启动项目还是出现如下错误 not support register type: null

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'globalTransactionScanner' defined in class path resource [com/alibaba/cloud/seata/GlobalTransactionAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.seata.spring.annotation.GlobalTransactionScanner]: Factory method 'globalTransactionScanner' threw exception; nested exception is io.seata.common.exception.NotSupportYetException: not support register type: nullat org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:656) ~[spring-beans-5.2.2.RELEASE.jar:5.2.2.RELEASE]at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:484) ~[spring-beans-5.2.2.RELEASE.jar:5.2.2.RELEASE]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1338) ~[spring-beans-5.2.2.RELEASE.jar:5.2.2.RELEASE]

最后试了很多个包发现还是依旧是报出这问题,最后看seata官方文档,发现了在seata-0.9.0版本之后用引入jar包的方式变了,需要引入spring-cloud-starter-alibaba-seata即可;这个引入的方式就有点像SpringBoot整合MyBatis,需要引入mybatis-spring-boot-starter,如果是引入mybatis-spring就非常需要注意版本号,一不小心就容易出现版本不兼容或者某个工厂类找不到。

seata官方变更记录就可以看出这个引入jar包的方式前后变化:

使用starter方式重新引入seata包,如下所示:

        <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-seata</artifactId><exclusions><exclusion><groupId>io.seata</groupId><artifactId>seata-spring-boot-starter</artifactId></exclusion></exclusions></dependency><dependency><groupId>io.seata</groupId><artifactId>seata-spring-boot-starter</artifactId><version>1.3.0</version></dependency>

当引入完这个seata-1.3.0版本之后,依旧还是报出上述问题,最后没得办法还得继续百度搜索,最后发现原来所有答案人家官方文档组件版本说明都已经说的明明白白。各个组件之间需要兼容的什么样的版本号。

▶以后还是尽量先看官网文档,能点都点进去看!

alibaba各组件版本兼容如下所示(第一列和最后一列就是seataalibaba兼容的版本号):

从上面版本号可以看出,seata-1.3.0版本最少也得使用SpringCloudAlibaba-2.2.3起步,所以将SpringCloudAlibaba升级一个稳定版本,最后试了一下SpringCloudAlibaba-2.2.1版本其实也兼容seata-1.3.0,因为现在SpringCloudAlibaba官网推荐使用版本号是,所以最后决定是用的是SpringCloudAlibaba-2.2.1版本。

一打开SpringCloudAlibaba官方文档显示最新的就是2.2.1RELEASE版本,用这个版本毋庸置疑。

最后也看下SpringBootSpringCloudSpringCloudAlibaba三个的版本使用兼容,如下所示:

seata1.3.0版本整合nacos踩过的深坑—not support register type: null (SpringBoot、Cloud、CloudAlibaba版本兼容使用)?相关推荐

  1. SpringCloud - 整合Nacos启动报错Consider defining a bean of type IClientConfig

    SpringCloud - 整合Nacos启动报错Consider defining a bean of type IClientConfig 前言 一. 尝试解决Bug的几种不合适方案 1.1 添加 ...

  2. springcloud整合nacos,遇见一个萝卜一个坑,不小心蹲了一会儿

    一.最近研发把所有老项目全调整使用nacos,例子是有,但是还是踩了一些坑,记录下,以后再犯掌嘴. 1.首先遇到的就是版本号的问题,真的很烦.下面是一个可以用的版本号,同事试出来的,没太多时间去试更多 ...

  3. 分布式事务解决方案之 Alibaba Seata1.3.0 seata-server 1.3.0

    分布式事务解决方案之 Alibaba Seata1.3.0 一 Seata 是什么? Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务.Seata 将为用户提供了 ...

  4. Seata1.3.0

    1.下载Seata 下载Seata1.3.0服务端Releases · seata/seata · GitHub ​ 2.创建数据库. 创建 seata130数据库存储Seata服务表数据.在Naco ...

  5. Dubbo3.0 整合 Nacos

    首先呢,这个项目分为provider提供者和consumer消费者,使用的版本是dubbo3.0.7,nacos是2.0.4.(注意:要使用dubbo3,nacos的版本必须在2.0.0以上) Pro ...

  6. seata xid是什么_微服务分布式事务解决方案-springboot整合分布式seata1.3.0

    概述 Seat是蚂蚁金服和阿里巴巴联合推出的一个开源的分布式事务框架,在阿里云商用的叫做GTS. 项目地址:https://github.com/longxiaonan/springcloud-dem ...

  7. maxcms整合html5播放器,【整合】马克斯cms4.0以上版本整合ckplayer6.8[支持PC+手机WAP]ckplayerX...

    马克斯cms4.0以上版本整合ckplayer6.8[支持PC+手机WAP]同样支持整合ckplayerX 支持http协议下的flv,f4v,mp4,支持rtmp视频流和rtmp视频回放,支持m3u ...

  8. SpringCloud整合Seata1.4.0

    版本说明 本例于windows基于Nacos配置注册.MybatisPlus.Hikari数据源,数据库为Mysql,示例代码为Seata的AT模式.案例代码GitHub地址spring-cloud- ...

  9. 会声会影2023旗舰版Corel VideoStudio Ultimate 2023 V26.0.0.136整合盘版本百度网盘免费下载安装激活

    会声会影2023旗舰版Corel VideoStudio Ultimate 2023 V26.0.0.136整合盘版本是一款有趣且直观的视频编辑器,包含高级工具和高级效果,智能功能和最佳性能的高级视频 ...

最新文章

  1. linux java 构建工具有哪些,Linux ant --强大的Java开发构建工具
  2. kobject_create_and_add
  3. ros的密码忘记解决方法
  4. php reactphp wss_workerman的基本用法(示例详解)
  5. PHP-数组小记(一)
  6. [BZOJ1322]Destroying The Graph
  7. java中将date插入mysql中date_JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法[转]...
  8. mysql的远程帐号密码_MySQL设置远程客户端访问权限和修改账户密码
  9. c语言数组中两元素交换,如可交换两个数组中的元素?
  10. 区块链教程(四):搭建私链、web3.js基础
  11. 小汤学编程之MySQL(二)——数据库操作、表结构操作、表数据操作、查询数据和数据类型
  12. 搞不定的C语言--extern的作用
  13. 蓝桥杯练习题:对给定整数基于斐波拉契数列构造字符串
  14. HealthKit教程 Swift版:锻炼信息
  15. IAR Embedded Workbench安装
  16. 架构系列---发号器(全局唯一ID生成器)系统设计方案和思路
  17. 苹果电脑计算机找不到打印机,在苹果电脑上连接打印机可以这样操作
  18. 关于微信小程序如何使用Vant组件
  19. 在线客服机器人交互功能开发总结
  20. 如何选购便宜的SSL证书

热门文章

  1. 如何优化软件测试成本?这是全网总结最实用的方法了
  2. 怎么转眼就到了“第五代存储系统”了?
  3. 警惕AI军事化!人工智能可寻找隐藏的核导弹,恐引发全球军备竞赛
  4. Redis(主从、哨兵、集群)
  5. Mellanox IB交换机SM HA
  6. 剑网三问题汇总+答疑(2023年7月25日)(长期有效)
  7. 线性代数Python计算:Python数系
  8. 微信小程序——Feed流图片布局解决方案
  9. 贴片电容常见参数:NP0、C0G、X7R、X5R、Y5V、Z5U
  10. java mysql单库多表_第69节:Java中数据库的多表操作