0
点赞
收藏
分享

微信扫一扫

解决RestTemplate的No instances available for localhost错误

兮城 2022-03-14 阅读 76
服务器

问题:

在通过RestTemplate进行调用其他项目的API时,由于是在本地调本地,产生了No instances available for localhost错误,导致无法调用。

原因:

既然是负载均衡,那必然是多台服务器的负载均衡,用IP访问就没有意义了,因此用负载均衡的注解时,不能用IP或者localhost,而应该用服务名。

RestTemplate的底层错误原因(摘录):

解决方案:

在配置类配置RestTemplate时,分别配置负载均衡与默认优先选择,即写两个RestTemplate方法

@LoadBalanced
@Bean
public RestTemplate loadBalanced1() {
    return new RestTemplate();
}

@Primary
@Bean
public RestTemplate restTemplate() {
    return new RestTemplate();
}
举报

相关推荐

0 条评论