in kernel/src/main/java/org/apache/shardingsphere/elasticjob/kernel/infra/env/IpUtils.java [73:99]
private static NetworkInterface findNetworkInterface() {
Enumeration<NetworkInterface> interfaces;
try {
interfaces = NetworkInterface.getNetworkInterfaces();
} catch (final SocketException ex) {
throw new HostException(ex);
}
List<NetworkInterface> validNetworkInterfaces = new LinkedList<>();
while (interfaces.hasMoreElements()) {
NetworkInterface networkInterface = interfaces.nextElement();
if (ignoreNetworkInterface(networkInterface)) {
continue;
}
validNetworkInterfaces.add(networkInterface);
}
NetworkInterface result = null;
for (NetworkInterface each : validNetworkInterfaces) {
if (isPreferredNetworkInterface(each)) {
result = each;
break;
}
}
if (null == result) {
result = getFirstNetworkInterface(validNetworkInterfaces);
}
return result;
}