[apache/dubbo]配置多个不同的ProtocolConfig,调用服务报Not found exported service。

2024-06-24 163 views
0

dubbo version: 3.0.10

由于业务场景在部分二方包内手动初始化了Registry, Application以及Protocol等, 并且编程式的暴露服务 serviceConfig.export();

当业务引用了二方包, 并且自己配置了一份 Protocol。在调用我们提供的二方包时就会报Not found exported service ... may be version or group mismatch

看着是应用级注册时进行了覆盖, org.apache.dubbo.registry.client.metadata.ServiceInstanceHostPortCustomizer#customize 该方法在选取host与port的时候只过滤了第一个protocol相同的地址, 但是不同Protocol的会放在同一个Metadata内, 导致应用级暴露时只暴露了一个Protocol地址

回答

1

升级到 3.1.1 看一下

0

试了一下 还是一样的表现. Not found exported service, service in [..] , may be version or group mismatch

0

可以提供一个可以复现的 demo 我们验证下吗

4

可以提供一个可以复现的 demo 我们验证下吗

看这个例子 https://github.com/lphu/dubbo-demo

HelloService可以正常调用, HelloService2调用时会Not found exported service

7

@lphu demo 使用 3.1.1 版本的 dubbo 是可以正常请求的

image image image

4

有没有哪个issue或者PR修复了该问题?