diff --git a/shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-dubbo/shenyu-plugin-apache-dubbo/src/main/java/org/apache/shenyu/plugin/apache/dubbo/cache/ApacheDubboConfigCache.java b/shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-dubbo/shenyu-plugin-apache-dubbo/src/main/java/org/apache/shenyu/plugin/apache/dubbo/cache/ApacheDubboConfigCache.java index 1aaf772eefc6..b96555ef0509 100644 --- a/shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-dubbo/shenyu-plugin-apache-dubbo/src/main/java/org/apache/shenyu/plugin/apache/dubbo/cache/ApacheDubboConfigCache.java +++ b/shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-dubbo/shenyu-plugin-apache-dubbo/src/main/java/org/apache/shenyu/plugin/apache/dubbo/cache/ApacheDubboConfigCache.java @@ -199,6 +199,16 @@ private ReferenceConfig buildReference(final MetaData metaData, reference.setRegistry(registryConfig); reference.setConsumer(consumerConfig); reference.setInterface(metaData.getServiceName()); + + // Fix dubbo application discover cannot get service provider information #5708 + try { + ConfigManager configManager = reference.getApplicationModel().getApplicationConfigManager(); + if (CollectionUtils.isEmpty(configManager.getDefaultRegistries())){ + configManager.addRegistry(registryConfig); + } + }catch (Throwable e){ + // no supported , do noting + } // default protocol is dubbo reference.setProtocol("dubbo"); reference.setCheck(false);