这两天在学习dubbo,想自己手写一个,但是遇到了种种问题,最终下载了一个别人的demo,模仿着写了一个.
遇到的问题:consumer一直找不到provider.刚开始上网查了,认为是@reference注解的问题,基本上网上讲到的方法我都试过了,但是都没用.consumer在idea运行的时候报错,但是可以启动.
刚开始的demo布局:consumer,provider单独为两个idea项目,并没有把接口单独提出,按照网上的一篇教程在consumer中写了一个接口并把provider中的接口在配置中指定
(consumer结构)

(provider结构)

(图为consumer启动所报的错)

解决方法:网上下载了别人的demo,发现它是用module来把api,consumer,provider来结合起来.这种方法的优点是方便管理多个项目,而且可以方便引入api到consumer和provider中.
(成功的demo结构)

(consumer结构)

(api结构,命名的时候没改,名字为dubbo)

(provider结构)

总结:可能是@Reference没法注入的问题,也可能是刚开始写的时候配置没写好,导致接口没有对接上.
附上demo码云地址:https://gitee.com/lianup/springboot-dubbo
更新:
之前的demo改了一下可以用了.原因是没有在provider和consumer启动类上加上注解@EnableDubbo 这个注解是用来开启Dubbo注解功能的.(如果我两天前把视频的后面一节看了就不会导致我自己瞎搞了两天了 哭唧唧)
本文记录了在尝试手动整合SpringBoot与Dubbo过程中遇到的consumer找不到provider的问题。错误起初被认为与@Reference注解有关,尝试多种解决方案未果。后来通过分析一个成功的demo,发现使用模块化结构(api、consumer、provider)并正确导入接口可以解决问题。关键在于在启动类上添加@EnableDubbo注解以启用Dubbo注解功能。问题解决后,提供了演示项目的码云地址。
3268

被折叠的 条评论
为什么被折叠?



