Support setting eureka.instance.ip-address and nacos.discovery.ip through system properties or env
This commit is contained in:
@@ -20,6 +20,7 @@ package we.service_registry.eureka;
|
||||
import com.netflix.appinfo.ApplicationInfoManager;
|
||||
import com.netflix.appinfo.HealthCheckHandler;
|
||||
import com.netflix.appinfo.InstanceInfo;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
|
||||
import org.springframework.cloud.commons.util.InetUtils;
|
||||
import org.springframework.cloud.commons.util.InetUtilsProperties;
|
||||
@@ -97,11 +98,17 @@ public abstract class FizzEurekaHelper {
|
||||
assert serverPort != null;
|
||||
eurekaInstanceConfig.setNonSecurePort(Integer.parseInt(serverPort));
|
||||
|
||||
String ipAddress = eurekaInstanceConfig.getIpAddress();
|
||||
if (ipAddress == null) {
|
||||
ipAddress = inetUtils.findFirstNonLoopbackAddress().getHostAddress();
|
||||
eurekaInstanceConfig.setIpAddress(ipAddress);
|
||||
String ipAddress = System.getProperty("eureka.instance.ip-address");
|
||||
if (StringUtils.isBlank(ipAddress)) {
|
||||
ipAddress = System.getenv("eureka.instance.ip-address");
|
||||
if (StringUtils.isBlank(ipAddress)) {
|
||||
ipAddress = eurekaInstanceConfig.getIpAddress();
|
||||
if (ipAddress == null) {
|
||||
ipAddress = inetUtils.findFirstNonLoopbackAddress().getHostAddress();
|
||||
}
|
||||
}
|
||||
}
|
||||
eurekaInstanceConfig.setIpAddress(ipAddress);
|
||||
|
||||
String instanceId = eurekaInstanceConfig.getInstanceId();
|
||||
if (instanceId == null) {
|
||||
|
||||
@@ -21,10 +21,10 @@ import com.alibaba.cloud.nacos.NacosServiceManager;
|
||||
import com.alibaba.cloud.nacos.registry.NacosRegistration;
|
||||
import com.alibaba.cloud.nacos.registry.NacosServiceRegistry;
|
||||
import com.alibaba.nacos.api.naming.NamingService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.core.env.Environment;
|
||||
import we.util.Consts;
|
||||
import we.util.JacksonUtils;
|
||||
import we.util.PropertiesUtils;
|
||||
import we.util.ReflectionUtils;
|
||||
|
||||
@@ -63,6 +63,16 @@ public abstract class FizzNacosHelper {
|
||||
if (fizzNacosProperties.getService() == null) {
|
||||
fizzNacosProperties.setService(env.getProperty("spring.application.name"));
|
||||
}
|
||||
String ip = fizzNacosProperties.getIp();
|
||||
if (StringUtils.isBlank(ip)) {
|
||||
ip = System.getProperty("nacos.discovery.ip");
|
||||
if (StringUtils.isBlank(ip)) {
|
||||
ip = System.getenv("nacos.discovery.ip");
|
||||
}
|
||||
if (StringUtils.isNotBlank(ip)) {
|
||||
fizzNacosProperties.setIp(ip);
|
||||
}
|
||||
}
|
||||
if (fizzNacosProperties.getPort() == -1) {
|
||||
fizzNacosProperties.setPort(Integer.parseInt(env.getProperty("server.port")));
|
||||
}
|
||||
|
||||
@@ -20,7 +20,9 @@ package we.service_registry.nacos;
|
||||
import com.alibaba.cloud.nacos.NacosDiscoveryProperties;
|
||||
import com.alibaba.nacos.api.naming.PreservedMetadataKeys;
|
||||
import com.alibaba.nacos.client.naming.utils.UtilAndComs;
|
||||
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
|
||||
import org.springframework.cloud.commons.util.InetUtils;
|
||||
import org.springframework.cloud.commons.util.InetUtilsProperties;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
import org.springframework.util.StringUtils;
|
||||
@@ -117,7 +119,13 @@ public class FizzNacosProperties extends NacosDiscoveryProperties {
|
||||
|
||||
if (StringUtils.isEmpty(ip)) {
|
||||
if (StringUtils.isEmpty(networkInterface)) {
|
||||
ip = applicationContext.getBean(InetUtils.class).findFirstNonLoopbackHostInfo().getIpAddress();
|
||||
InetUtils inetUtils = null;
|
||||
try {
|
||||
inetUtils = applicationContext.getBean(InetUtils.class);
|
||||
} catch (NoSuchBeanDefinitionException e) {
|
||||
inetUtils = new InetUtils(new InetUtilsProperties());
|
||||
}
|
||||
ip = inetUtils.findFirstNonLoopbackHostInfo().getIpAddress();
|
||||
} else {
|
||||
NetworkInterface netInterface = null;
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user