diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistryDirectory.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistryDirectory.java index df573d1c73..187689e76d 100644 --- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistryDirectory.java +++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistryDirectory.java @@ -30,6 +30,7 @@ import org.apache.dubbo.registry.integration.DynamicDirectory; import org.apache.dubbo.rpc.Invoker; import org.apache.dubbo.rpc.Protocol; import org.apache.dubbo.rpc.RpcContext; +import org.apache.dubbo.rpc.cluster.RouterChain; import java.util.ArrayList; import java.util.Collection; @@ -41,6 +42,8 @@ import java.util.Map; import static org.apache.dubbo.common.constants.CommonConstants.DISABLED_KEY; import static org.apache.dubbo.common.constants.CommonConstants.ENABLED_KEY; import static org.apache.dubbo.common.constants.RegistryConstants.EMPTY_PROTOCOL; +import static org.apache.dubbo.common.constants.RegistryConstants.REGISTRY_TYPE_KEY; +import static org.apache.dubbo.common.constants.RegistryConstants.SERVICE_REGISTRY_TYPE; public class ServiceDiscoveryRegistryDirectory extends DynamicDirectory implements NotifyListener { private static final Logger logger = LoggerFactory.getLogger(ServiceDiscoveryRegistryDirectory.class); @@ -54,6 +57,11 @@ public class ServiceDiscoveryRegistryDirectory extends DynamicDirectory im super(serviceType, url); } + @Override + public void buildRouterChain(URL url) { + this.setRouterChain(RouterChain.buildChain(url.addParameter(REGISTRY_TYPE_KEY, SERVICE_REGISTRY_TYPE))); + } + @Override public boolean isAvailable() { if (isDestroyed()) { diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java index 26c278ed55..03cd9bfd8b 100644 --- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java +++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java @@ -36,7 +36,6 @@ import org.apache.dubbo.rpc.Protocol; import org.apache.dubbo.rpc.RpcException; import org.apache.dubbo.rpc.cluster.Configurator; import org.apache.dubbo.rpc.cluster.Router; -import org.apache.dubbo.rpc.cluster.RouterChain; import org.apache.dubbo.rpc.cluster.directory.StaticDirectory; import org.apache.dubbo.rpc.cluster.support.ClusterUtils; import org.apache.dubbo.rpc.model.ApplicationModel; @@ -550,10 +549,6 @@ public class RegistryDirectory extends DynamicDirectory implements NotifyL return false; } - public void buildRouterChain(URL url) { - this.setRouterChain(RouterChain.buildChain(url)); - } - /** * Haomin: added for test purpose */