当前位置: 代码迷 >> 综合 >> Seata,报错:no available service ‘null‘ found
  详细解决方案

Seata,报错:no available service ‘null‘ found

热度:38   发布时间:2023-10-15 20:14:13.0

今天刚学了seata,准备上手操作时,遇到这种错误no available service 'null' found,网上查了就是因为file.conf或者registry.conf配置不对。但是,对比网上各种完整版本,发现没任何问题。
我使用的seata版本是 1.1.0 版本
最后,看到了一句:seata版本1.0.0后客户端file.conf文件中vgroup_mapping要改成vgroupMapping
Seata,报错:no available service ‘null‘ found
为了验证,于是我便跟踪源码:

  1. 进入NettyClientChannelManager该类,找到reconnect方法
    Seata,报错:no available service ‘null‘ found
    图中,看出问题不在这一层。于是,进入getAvailServerList

  2. 进入getAvailServerList
    Seata,报错:no available service ‘null‘ found
    发现问题不在这里,要进入下一层。

  3. 进入lookup方法查看
    Seata,报错:no available service ‘null‘ found
    发现clusterName为null,那么只能进入该方法看原因

  4. 进入getServiceGroup
    Seata,报错:no available service ‘null‘ found
    问题就在这里了!!
    这里找不到属性。
    因为参数是: server.vgroupMapping.fsp_tx_group
    而我在file.conf中配置的是
    Seata,报错:no available service ‘null‘ found
    因为 vgroup_mappingvgroupMapping不一样,所以无法识别到file.conf中的属性。
    所以,要对应上才可以。
    把file.conf中 vgroup_mapping修改成vgroupMapping

修改后,运行!无异常!!!

  相关解决方案