一、背景

基于springboot 2.3.5.RELEASE 和 dubbo-spring-boot-starter 2.7.5 的版本开发,用来总结自己的技术栈。在启动过程中遇到一些问题,故借此文章总结记录一下自己的解决思路。

二、问题集合

1、 java.lang.IllegalStateException: No registry config found or it's not a valid config! The registry config is: <dubbo:registry valid="false" prefix="dubbo.registry" />

对于这些含有  ...Config的问题,一般都跟配置有关。解决思路如下:

1)、项目紧迫的情况下可以直接百度报错的提示,看看前辈总结的经验(问题不是你的专属)。

2)、根据报错提示,点击 checkRegistry(AbstractInterfaceConfig.java:177)  ,如下图所示,找到 registryConfig.isValid() ,打上断点,开启debugger,发现  RegistryConfig  这个类的属性为空,继续点击AbstractConfig 可以看到dubbo的配置方式:

dubbo-spring-boot-starter 2.7.5 高版本不在以 spring.dubbo为前缀,改成直接以 dubbo为前缀的配置,如下所示

spring.dubbo.registry.id = gc-dubbo-registry   改为  dubbo.registry.id = gc-dubbo-registry

2)、java.lang.IllegalStateException: Invalid name="org.apache.dubbo.config.ApplicationConfig#0" contains illegal character, only digit, letter, '-', '_' or '.' is legal.

方案:还是跟配置有关,注意相关dubbo的配置方式。比如:

dubbo.application.name=your-need-name

dubbo.application.id=xxx

链接: 混合配置导致的Invalid name="org.apache.dubbo.config.ApplicationConfig#0"问题 #6202

3)、KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss

解决方案:

A、查看zookeeper的机子是否可以连接,连接超时等情况。具体可以参考 zookeeper连接异常处理

B、dubbo版本与zookeeper版本问题或者项目少引入 zookeeper的依赖包。此处涉及的完整包如下:

 <!-- https://mvnrepository.com/artifact/org.apache.dubbo/dubbo-spring-boot-starter --><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>2.7.5</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.curator/curator-framework --><dependency><groupId>org.apache.curator</groupId><artifactId>curator-framework</artifactId><version>4.2.0</version></dependency><!-- dubbo所需其他依赖 使用alibaba的dubbo则不需要 --><dependency><groupId>org.apache.curator</groupId><artifactId>curator-recipes</artifactId><version>4.2.0</version></dependency><!-- zookeeper依赖 --><dependency><groupId>com.101tec</groupId><artifactId>zkclient</artifactId><version>0.7</version><exclusions><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId></exclusion></exclusions></dependency>

4)、其他问题

java.lang.NoClassDefFoundError: org/apache/curator/framework/recipes/cache/TreeCacheListener

少了 curator-recipes  这个包

 <!-- dubbo所需其他依赖 使用alibaba的dubbo则不需要 --><dependency><groupId>org.apache.curator</groupId><artifactId>curator-recipes</artifactId><version>4.2.0</version></dependency>

org.apache.zookeeper.KeeperException$UnimplementedException: KeeperErrorCode = Unimplemented for /dubbo/com.allen.dubbo.api.CostService/providers/dubbo%3A%2F%2F10.0.0.104%3A30003%2Fcom.allen.dubbo.api.CostService%3Fanyhost%3Dtrue%26application%3Dgc-dubbo-provider%26deprecated%3Dfalse%26dubbo%3D2.0.2%26dynamic%3Dtrue%26generic%3Dfalse%26interface%3Dcom.allen.dubbo.api.CostService%26methods%3Dadd%26pid%3D20708%26release%3D2.7.5%26side%3Dprovider%26timeout%3D10000%26timestamp%3D1617239293620

按着 3) 的包可以解决此问题

项目地址:https://github.com/krycai/gc-framework/tree/master/gc-dubbo

springboot 集成dubbo问题相关推荐

  1. SpringBoot集成Dubbo

    #博学谷IT学习技术支持# 文章目录 1. 构建SpringBoot环境 1.1 创建一个dubbo-parent项目 1.2 引入依赖坐标 2. Linux 环境配置 2.1 安装docker 2. ...

  2. Dubbo——SpringBoot集成Dubbo(@Autowired和@Reference的区别、Dubbo的服务治理)

    Dubbo--原生API实现远程调用_Strine的博客-CSDN博客 在上一篇文章中我们讲了如何使用原生API发起远程调用,显然这种方式肯定是非常麻烦的,因此我们这里就讲如何使用SpringBoot ...

  3. SpringBoot集成Dubbo框架

    1. Dubbo框架 Dubbo框架是一个高性能.重量轻.基于java的RPC框架.Dubbo提供了三个关键功能,包括基于接口的远程调用.容错和负载平衡,以及自动服务注册和发现.Dubbo可以和Spr ...

  4. 【dubbo】springboot集成dubbo框架

    1. dubbo介绍 dubbo是一款开源rpc框架,提供rpc调用诸多组件.支持服务注册与发现.服务负载均衡.服务容错.服务降级处理.服务失败尝试机制.服务监控等组件. 当我们项目拆分成微服务时,A ...

  5. SpringBoot集成Dubbo+Zookeeper

    目录 Spring版本 dubbo_zookeeper负责定义接口 dubbo_provider 服务提供者 dubbo_consumer服务使用者 Spring版本 不知道为啥,新创建的Spring ...

  6. springboot 集成dubbo

    一.引入相关依赖 pom.xml <!-- dubbo --> <dependency> <groupId>com.alibaba</groupId> ...

  7. SpringBoot与Dubbo的集成

    简介 Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,以 及 SOA 服务治理方案.简单的说,dubbo 就是个服务框架,如果没有分布式的需求,其实 是不需要用 ...

  8. 【SpringBoot整合Dubbo和Zookeeper】

    本笔记内容为狂神说SpringBoot集成Dubbo和Zookeeper部分 目录 一.Dubbo dubbo基本概念 调用关系说明 二.Dubbo环境搭建 三.Window下安装zookeeper ...

  9. dubbo web工程示例_dubbo实战之二:与SpringBoot集成

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类和汇总,及配套源码,涉及Java.Docker.Kubernetes.DevO ...

最新文章

  1. 转载一篇开源http服务器(C语言)
  2. MySql中有哪些存储引擎
  3. Angular自学笔记(?)DI提供者
  4. 从零开始实现ASP.NET Core MVC的插件式开发(三) - 如何在运行时启用组件
  5. Codeforces Round #630 (Div. 2) F. Independent Set 树形dp
  6. [渝粤教育] 广东-国家-开放大学 21秋期末考试中国近现代史纲要(A)10881k1 (2)
  7. 实践实战:在PoC中的Oracle 12c优化器参数推荐(含PPT)
  8. 深入理解JVM读书笔记--Class文件结构
  9. 奇葩错误SLF4J: Failed to load class org.slf4j。。的修复
  10. dnf mysql密码多少_DNF 台服数据库密码加密算法
  11. Java异常处理之异常类继承层次
  12. 万用表的使用方法 (图解)
  13. ireport 使用list数据源
  14. ArcGIS山体坡度、坡向分析
  15. Linux 安装molten
  16. 隐藏在发表的宏基因组文章背后故事,如何发掘和学习
  17. 简单三步搭建公司内部论坛:安装部署Discuz 1-2
  18. 如何调换计算机桌面壁纸,怎样让电脑自动更换桌面背景
  19. 服务容错 - Hystrix
  20. allegro如何通过dra文件生产psm文件

热门文章

  1. java 用映射写工厂类_java23种设计模式——三、工厂模式
  2. 无法打开物理文件 XXX.mdf。操作系统错误 5:5(拒绝访问。)的解决办法
  3. 网站测试之死链接测试
  4. C++多线程:condition_variable
  5. FFmpeg显卡版编译安装
  6. 最近被吞噬星空动漫吸引,那就愉快的爬取一下小说看看吧!----Python爬虫
  7. 每日科技新闻速递 2022/08/19
  8. centos7+sendmail+dovecot配置邮件服务
  9. 红眼病患者有很多注意事项,尤其是在饮食上
  10. GetDlgItem、SendMessage、SetWindowText、GetWindowText、IsWindowVisible、ShowWindow、IsWindowEnabled按钮控件操作