Merge branch '1.2.x'

This commit is contained in:
Marcin Grzejszczak
2017-09-19 10:59:58 +01:00
3 changed files with 30 additions and 5 deletions

View File

@@ -25,7 +25,9 @@ import org.springframework.boot.context.embedded.EmbeddedServletContainerInitial
import org.springframework.cloud.commons.util.InetUtils;
import org.springframework.cloud.commons.util.InetUtilsProperties;
import org.springframework.cloud.sleuth.Span;
import org.springframework.context.EnvironmentAware;
import org.springframework.context.event.EventListener;
import org.springframework.core.env.Environment;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
@@ -43,15 +45,17 @@ import org.springframework.util.StringUtils;
* @author Dave Syer
* @since 1.0.0
*/
public class ServerPropertiesHostLocator implements HostLocator {
public class ServerPropertiesHostLocator implements HostLocator, EnvironmentAware {
private static final Log log = LogFactory.getLog(MethodHandles.lookup().lookupClass());
private static final String IP_ADDRESS_PROP_NAME = "spring.cloud.client.ipAddress";
private final ServerProperties serverProperties; // Nullable
private final String appName;
private final InetUtils inetUtils;
private final ZipkinProperties zipkinProperties;
private Integer port; // Lazy assigned
private Environment environment;
public ServerPropertiesHostLocator(ServerProperties serverProperties, String appName,
ZipkinProperties zipkinProperties, InetUtils inetUtils) {
@@ -98,6 +102,9 @@ public class ServerPropertiesHostLocator implements HostLocator {
if (this.serverProperties != null && this.serverProperties.getAddress() != null) {
address = this.serverProperties.getAddress().getHostAddress();
}
else if (this.environment != null) {
address = this.environment.getProperty(IP_ADDRESS_PROP_NAME, String.class);
}
else {
address = this.inetUtils.findFirstNonLoopbackAddress().getHostAddress();
}
@@ -120,4 +127,8 @@ public class ServerPropertiesHostLocator implements HostLocator {
return serviceName;
}
@Override
public void setEnvironment(Environment environment) {
this.environment = environment;
}
}