nacos中报java.net.UnknownHostException: XXX错解决

问题描述:

我报的错就是上图所示,我的提供者和消费者服务都已经注册到,将服务者RestTemplate访问的url也使用服务名替代了,结果调用的时候就报错java.net.UnknownHostException: XXX。

SpringCloud我的版本是2021.0.2,springboot对应的版本是2.6.7,nacos使用的是2.0.1。好像SpringCloud2020.0.1.0之后版本不使用netflix了,所以我们不用Ribbon来实现负载均衡。

我查了好多,都说是没有加负载均衡,然而在我的启动类中早就加了

@MapperScan("cn.itcast.order.mapper")
@SpringBootApplication
public class OrderServiceApplication {

    public static void main(String[] args) {
        SpringApplication.run(OrderServiceApplication.class, args);
    }

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

在上方加@LoadBalanced注解,仍然报错。

最后终于找到了解决方法。在pom中添加依赖

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-loadbalancer</artifactId>
        </dependency>

然后依旧上方加@LoadBalanced注解,就可以了。

经验分享 程序员 微信小程序 职场和发展