在使用dubbo过程中遇到哪些问题?如何解决?

 我来答
长青数码
2022-06-28 · TA获得超过2628个赞
知道小有建树答主
回答量:552
采纳率:100%
帮助的人:81.1万
展开全部
1、同时配置了XML和properties文件,则properties中的配置无效

只有XML没有配置时,properties才会生效

2、dubbo默认会在启动时检查依赖是否可用,不可用就抛出异常,阻止spring初始化完成,check属性默认为true

测试环境下有些服务不关心或出现了循环依赖,将check设置为false

3、为了方便开发测试,线下有一个所有服务可用的注册中心,这时,如果有一个正在开发中的服务提供者注册,可能会影响消费者不能正常运行

让服务提供者开发者,只订阅服务,而不注册正在开发的服务,通过直连测试正在开发的服务。设置dubbo:registry标签register属性为false

4、spring 2.x初始化死锁的问题

事件:在spring解析到dubbo:service时,就已经向外暴露了服务,而spring还在接着初始化其他bean,如果这时有请求进来,并且服务的实现类里有调用applicationContext.getBean()的方法,getBean线程和spring初始化线程的锁的顺序不一样,导致了线程死锁,不能提供服务,启动不了;

解决:不要在服务的实现类中使用applicationContext.getBean()如果不想依赖配置顺序,可以将dubbo:provider的deplay属性设置为-1,使dubbo在容器初始化完成后再暴露服务

5、服务注册不上

6、出现RpcException:No provider available for remote service异常

这个异常表示没有可用的服务提供者;

7、出现“消息发送失败”异常

通常是接口方法的传入传出参数未实现Serializable接口
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式