eureka.instance.appname 与 spring.application.name 的区别

1,eureka.instance.appname

找到类 org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean.java,其中有段:

@Data
@ConfigurationProperties("eureka.instance")
public class EurekaInstanceConfigBean implements CloudEurekaInstanceConfig, EnvironmentAware {

    private static final String UNKNOWN = "unknown";

    /**
     * Get the name of the application to be registered with eureka.
     */
    private String appname = UNKNOWN;

可以看到,应用名称 就是在这里配置的;

2,spring.application.name

找到类 org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean,其中片段:

    @Override
    public void setEnvironment(Environment environment) {
        this.environment = environment;
        // set some defaults from the environment, but allow the defaults to use relaxed binding
        RelaxedPropertyResolver springPropertyResolver = new RelaxedPropertyResolver(this.environment, "spring.application.");
        String springAppName = springPropertyResolver.getProperty("name");
        if(StringUtils.hasText(springAppName)) {
            setAppname(springAppName);
            setVirtualHostName(springAppName);
            setSecureVirtualHostName(springAppName);
        }
    }

可以看到,这里是用 spring.application.name 配置的应用名称;

3,结论

从以上可以看到,spring.application.name 的优先级比 eureka.instance.appname 高,例如:

spring:
  application:
    name: jack
eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/
  instance:
    appname: client

两者都配置的时候,注册到Eureka Server上的 appname 是 jack

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值