之前在dubbo调试时候,通过代码直连服务提供者的时候,总是找不到服务。
先说明一下情况,
同一个接口多个实现,通过不同的group发布服务。在直连指定服务器时,已经指定了ip,还是请求不到。
比如接口TestService,有N个实现TestServiceImplA ,group="A"; TestServiceImplB,group="B 等等,服务器地址10.10.1.1:20880 ,10.10.2.2:20880
现在需要指定连接10.10.1.1:20880 上的A实现类
开始代码如下:
<dubbo:referenceid="testService"interface="com.xxx.xxx.sell.TestService" group="A"url="dubbo://10.10.1.1:20880"timeout="3000"/>
这样写怎么都连不上,后来在dubboAdmin中发现,服务提供者的接口名字多了几个数字。。
由于有多个实现,这里已经不是原接口名字,多了数字加以区分
所以在URl里面指定具体是哪个数字的接口就可以了,跟dubboAdmin控制台里面的保持一行就行。
<dubbo:reference id="testService" interface="com.xxx.xxx.sell.TestService" group="A" url="dubbo://10.10.1.1:20880/com.xxx.xxx.sell.TestService3" timeout="3000"/>这样就可以直连指定的服务器测试了