属性spring.application.name与eureka.instance.appname区别
在eureka界面显示的是eureka.instance.appname,而消费者向访问服务提供者时用到的应用名是spring.application.name
比如:在消费者这一侧,有方法:
@RequestMapping(value="/ribbon-consumer")
public String helloconsumer(){
return restTemplate.getForEntity("http://***/hello", String.class).getBody();
}这里的***就是spring.application.name。 所以当spring.application.name与eureka.instance.appname不相同时就比较坑,因为我们不能使用eureka界面显示的应用名去访问应用。
一般情况下,我们只配置spring.application.name就好,它可以为appname赋值:(但是,如果用户两个都配了,那就无法覆盖appname的值了,结果appname就是eureka.instance.appname的值,因为系统先调用setEnvironment方法,后调用setAppname方法,如果eureka.instance.appname不配置,setAppname方法就不调了,下断点试过,服了,所以以后只配置spring.application.name即可。)
@ConfigurationProperties("eureka.instance")
public class EurekaInstanceConfigBean
implements CloudEurekaInstanceConfig, EnvironmentAware {public void setEnvironment(Environment environment) {
this.environment = environment;
// set some defaults from the environment, but allow the defaults to use relaxed
// binding
String springAppName = this.environment.getProperty("spring.application.name",
"");
if (StringUtils.hasText(springAppName)) {
setAppname(springAppName);
setVirtualHostName(springAppName);
setSecureVirtualHostName(springAppName);
}
}}
@EnableEurekaClient与@EnableDiscoveryClient区别
springcloud 一些小坑
原创hgqxjj ©著作权
文章标签 springcloud 一些小坑 文章分类 前端开发
©著作权归作者所有:来自51CTO博客作者hgqxjj的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
給坑娘的個人一些小愚見
給坑娘的個人一些小愚見
工作 2010 游戏 机器翻译 -
一些小常识
惠普服务器如何查看swap空间
职场 常识 休闲