前言
今日在开发过程中发现直连dubbo服务的时候无法调用服务,具体情况如下:
配置
<dubbo:reference registry="orderZK" id="orderServer"
group="${application.zkGroup}" url="dubbo://127.0.0.1:20880"
interface="com.order.service.OrderServer" check="false"
version="1.0" timeout="6000"/>
异常信息
我隐藏连一些敏感信息,图中可以看到异常信息提示说:Not found exported service,我仔细查看后发现服务前段确实缺少scmp,这是公司在注册中心dubbo:registry中加入的group=scmp,难道和这个有关系么?默认是dubbo。
于是我做了如下修改:
url="dubbo://127.0.0.1:20880/scmp"
但是还是不行,在服务端调用的时候显示这样的。:
serviceKey = scmp:20880 其实可以看到调用请求其实是已经到了服务端,只是并未找到本地发布的服务。
最终解决
于是重新修改如下:
url="dubbo://127.0.0.1:20880/scmp/com.order.service.OrderServer:1.0"
这次可以正常调用了。
但是为啥会出现这样的问题,具体dubbo是怎么处理dubbo直连的,我并没有进一步的查找原因。
在本地调试的时候可以使用本地启动zk,可不用直连测试。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。