spring-cloud-commons项目为Spring Cloud生态提供了顶层的抽象和基础设施的实现。
网络这个最基本的基础设施也是在这里有对应的实现:InetUtils、InetUtilsProperties和UtilAutoConfiguration提供了网络配置相关的功能。
相关配置的spring cloud官方文档
springcloud 中选择网卡的源码(可以从 HostInfoEnvironmentPostProcessor 切入):
public InetAddress findFirstNonLoopbackAddress() {
InetAddress result = null;
try {
int lowest = Integer.MAX_VALUE;
for (Enumeration < NetworkInterface > nics = NetworkInterface
.getNetworkInterfaces(); nics.hasMoreElements();) {
NetworkInterface ifc = nics.nextElement();
if (ifc.isUp()) {
log.trace("Testing interface: " + ifc.getDisplayName());
if (ifc.getIndex() < lowest || result == null) {
lowest = ifc.getIndex();