public String getIpByHost()

in httpdns_api_demo/src/main/java/alibaba/httpdns_api_demo/HttpDNS.java [238:264]


    public String getIpByHost(String hostName) {
        if (degradationFilter != null) {
            if (degradationFilter.shouldDegradeHttpDNS(hostName)) {
                return null;
            }
        }
        HostObject host = hostManager.get(hostName);
        if (host == null || (host.isExpired() && !isExpiredIpAvailable())) {
            HttpDNSLog.logD("[getIpByHost] - fetch result from network, host: " + hostName);
            Future<String> future = pool.submit(new QueryHostTask(hostName));
            try {
                return future.get();
            } catch (Exception e) {
                if (HttpDNSLog.isLogEnabled()) {
                    e.printStackTrace();
                }
            }
            return null;
        } else if (host.isExpired()) {
            // 同步返回,异步更新
            HttpDNSLog.logD("[getIpByHost] - fetch result from cache, host: " + hostName);
            pool.submit(new QueryHostTask(hostName));
            return host.getIp();
        }
        HttpDNSLog.logD("[getIpByHost] - fetch result from cache, host: " + hostName);
        return host.getIp();
    }