全部产品

设置降级策略相关接口

设置降级策略

设置降级策略,您可以定义规则降级为原生DNS解析方式。

接口定义

void setDegradationFilter(DegradationFilter filter);
public interface DegradationFilter {
    /**
     * 降级过滤器
     *
     * @param hostName 当前的目标域名(如www.aliyun.com),您可以针对域名进行降级过滤
     * @return 是否降级走原生DNS逻辑
     */
    boolean shouldDegradeHttpDNS(String hostName);
}

参数说明

参数

类型

是否必填

说明

filter

DegradationFilter

降级代理

代码示例

// httpdns为初始化获取的服务实例
DegradationFilter filter = new DegradationFilter() {
            @Override
            public boolean shouldDegradeHttpDNS(String hostName) {
                // 此处可以自定义降级逻辑,例如www.aliyuno.com不使用HttpDNS解析
                // 参照HttpDNS API文档,当存在中间HTTP代理时,应选择降级,使用Local DNS
                return hostName.equals("www.aliyuno.com");
            }
        };
// 将filter传进httpdns,解析时会回调shouldDegradeHttpDNS方法,判断是否降级
httpdns.setDegradationFilter(filter);

设置降级过滤器

针对域名进行降级过滤。

接口定义

    boolean shouldDegradeHttpDNS(String hostName);

参数说明

参数

类型

是否必填

说明

hostname

String

当前的目标域名(如www.aliyun.com),您可以针对域名进行降级过滤

@return

Boolean

是否降级走原生DNS逻辑

代码示例

DegradationFilter filter = new DegradationFilter() {
            @Override
            public boolean shouldDegradeHttpDNS(String hostName) {
                // 此处可以自定义降级逻辑,例如www.aliyuno.com不使用HttpDNS解析
                // 参照HttpDNS API文档,当存在中间HTTP代理时,应选择降级,使用Local DNS
                return hostName.equals("www.aliyuno.com");
            }
        };