今日在开发过程中发现直连dubbo服务的时候无法调用服务,具体情况如下:
<dubbo:reference registry="orderZK" id="orderServer" group="${application.zkGroup}" url="dubbo://127.0.0.1:20896" 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:20896/scmp"
但是还是不行,在服务端调用的时候显示这样的。:
于是重新修改如下:
url="dubbo://127.0.0.1:20896/scmp/com.order.service.OrderServer:1.0"
这次可以正常调用了。
但是为啥会出现这样的问题,具体dubbo是怎么处理dubbo直连的,我并没有进一步的查找原因。
在本地调试的时候可以使用本地启动zk,可不用直连测试。