X-Git-Url: https://gerrit.onap.org/r/gitweb?p=dmaap%2Fdatarouter.git;a=blobdiff_plain;f=datarouter-node%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdatarouter%2Fnode%2FIsFrom.java;h=534b2b356ebea9ec474ad43a1b3fc11418849a71;hp=35ba0951ec795fa11028e53b133bed864cd6c526;hb=5e6a9f65049e8e8d39e8dcab227e5d75b328b173;hpb=82882d01690cff6f78ea0a606ed6a68f9a65aa4d diff --git a/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/IsFrom.java b/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/IsFrom.java index 35ba0951..534b2b35 100644 --- a/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/IsFrom.java +++ b/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/IsFrom.java @@ -24,8 +24,10 @@ package org.onap.dmaap.datarouter.node; -import org.apache.log4j.Logger; +import com.att.eelf.configuration.EELFLogger; +import com.att.eelf.configuration.EELFManager; +import java.io.IOException; import java.util.*; import java.net.*; @@ -36,7 +38,7 @@ public class IsFrom { private long nextcheck; private String[] ips; private String fqdn; - private static Logger logger = Logger.getLogger("org.onap.dmaap.datarouter.node.IsFrom"); + private static EELFLogger logger = EELFManager.getInstance().getLogger(IsFrom.class); /** * Configure the JVM DNS cache to have a 10 second TTL. This needs to be called very very early or it won't have any effect. @@ -62,24 +64,37 @@ public class IsFrom { long now = System.currentTimeMillis(); if (now > nextcheck) { nextcheck = now + 10000; - Vector v = new Vector<>(); + ArrayList hostAddrArray = new ArrayList<>(); try { InetAddress[] addrs = InetAddress.getAllByName(fqdn); - for (InetAddress a : addrs) { - v.add(a.getHostAddress()); + for (InetAddress addr : addrs) { + hostAddrArray.add(addr.getHostAddress()); } } catch (UnknownHostException e) { - logger.debug("IsFrom: UnknownHostEx: " + e.toString(), e); + logger.error("IsFrom: UnknownHostEx: " + e.toString(), e); } - ips = v.toArray(new String[v.size()]); + ips = hostAddrArray.toArray(new String[0]); logger.info("IsFrom: DNS ENTRIES FOR FQDN " + fqdn + " : " + Arrays.toString(ips)); } - for (String s : ips) { - if (s.equals(ip) || s.equals(System.getenv("DMAAP_DR_PROV_SERVICE_HOST"))) { - return (true); + for (String ipAddr : ips) { + if (ipAddr.equals(ip)) { + return true; } } - return (false); + return false; + } + + synchronized boolean isReachable(String ip) { + try { + if (InetAddress.getByName(ip).isReachable(1000)) { + return true; + } + } catch (UnknownHostException e) { + logger.error("IsFrom: UnknownHostEx: " + e.toString(), e); + } catch (IOException e) { + logger.error("IsFrom: Failed to parse IP : " + ip + " : " + e.toString(), e); + } + return false; } /**