启动后,报错no available service ‘null‘ found, please make sure registry config correct

这个错误是注册之前获取seata服务失败。

当客户端配置了seata相关的配置时,会去注册seata-server服务。在注册之前,会去获取可以的seata-service。如果获取不到,客户端就会报错“no available service 'null' found, please make sure registry config correct”。

如果感兴趣,可以去跟踪一下源码:

第一步:找到报错的代码位置

第二步:去查看可以服务列表方法

第三步:找到lookup,找到其实现类。 我这边注册中心是nacos

重点看getServiceGroup方法!!

如果获取到了,但未匹配到,就要关注第二个方框内容。

点击getConfig方法,一直找,知道找到getLastConfig

从这里看,突然发现:从命名空间“0cee9ba2-2515-481b-af80-254a9f42ea2c”找分组为“SEATA_GROUP”的dataI的是“service.vgroupMapping.lq-seller-group”的服务。

去查看nacos配置:

发现没有service.vgroupMapping.lq-seller-group的配置。

问题找到了。新增分组为SEATA_GROUP的service.vgroupMapping.lq-seller-group配置。

加完之后:

问题解决!

小插曲:

我之前知道要配service.vgroupMapping.lq-seller-group,但是我配置的位置是:

按照我们之前分析来看,很明显了,命名空间不对。

那么客户端的服务,怎么知道要找什么命名空间的什么分组的什么dataid呢?

打开客户端服务的配置文件,查看配置:

可以发现,我的客户端配置的是另一个空间的配置。这个时候,我们既可以改这个命名空间也可以在另一个命名空间重新新增一个service.vgroupMapping.lq-seller-group。

同理:

如果是配置的问题导致注册失败,也可以通过这个思路去查找。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值