From 3db7c2ead490bb5b496e98c856486e6658c7b4f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=8D=93=E6=B5=A9?= <604916089@qq.com> Date: Sat, 23 Feb 2019 20:58:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=BD=91=E5=8D=A1=E5=9C=B0?= =?UTF-8?q?=E5=9D=80=E4=BC=98=E5=85=88=E7=BA=A7=20(#1986)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 优化网卡地址优先级,index低的网卡地址优先级高 --- .../foundation/internals/NetworkInterfaceManager.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/apollo-core/src/main/java/com/ctrip/framework/foundation/internals/NetworkInterfaceManager.java b/apollo-core/src/main/java/com/ctrip/framework/foundation/internals/NetworkInterfaceManager.java index 48b475e9b5c..79b911605ab 100644 --- a/apollo-core/src/main/java/com/ctrip/framework/foundation/internals/NetworkInterfaceManager.java +++ b/apollo-core/src/main/java/com/ctrip/framework/foundation/internals/NetworkInterfaceManager.java @@ -7,6 +7,7 @@ import java.net.UnknownHostException; import java.util.ArrayList; import java.util.Collections; +import java.util.Comparator; import java.util.Enumeration; import java.util.List; import java.util.Objects; @@ -98,7 +99,15 @@ private void load() { try { Enumeration interfaces = NetworkInterface.getNetworkInterfaces(); - List nis = interfaces == null ? Collections.emptyList() : Collections.list(interfaces); + List nis = interfaces == null ? Collections.emptyList() + : Collections.list(interfaces); + //sort the network interfaces according to the index asc + Collections.sort(nis, new Comparator() { + @Override + public int compare(NetworkInterface nis1, NetworkInterface nis2) { + return Integer.compare(nis1.getIndex(), nis2.getIndex()); + } + }); List addresses = new ArrayList<>(); InetAddress local = null;