override router chain builder

This commit is contained in:
ken.lj 2020-11-11 17:29:14 +08:00
parent 0fa09cc34f
commit 4ecb11b543
2 changed files with 8 additions and 5 deletions

View File

@ -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<T> extends DynamicDirectory<T> implements NotifyListener {
private static final Logger logger = LoggerFactory.getLogger(ServiceDiscoveryRegistryDirectory.class);
@ -54,6 +57,11 @@ public class ServiceDiscoveryRegistryDirectory<T> extends DynamicDirectory<T> 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()) {

View File

@ -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<T> extends DynamicDirectory<T> implements NotifyL
return false;
}
public void buildRouterChain(URL url) {
this.setRouterChain(RouterChain.buildChain(url));
}
/**
* Haomin: added for test purpose
*/