SpringCloud 消费请求Eureka调用服务提供者报错

SpringCloud 消费请求Eureka调用服务提供者报错

 

springCloud 2022.0.1

springboot 3.0.2

 

 

消费程序 通过eureka集群查询服务,根据eureka中注册的服务名称请求最终的服务,

//eureka 注册的服务名称, 
public static final String PAYMENT_URL="http://PAYMENT-SERVICE";
@Resource
private RestTemplate restTemplate;

 

@RequestMapping("/consumer/payment/get/{id}")
    public CommonResult<Payment>   getPaymentById(@PathVariable("id") Long id)
    {

        return restTemplate.getForObject(PAYMENT_URL+"/payment/get/"+id

                ,CommonResult.class);
    }

报错:

java.net.UnknownHostException: PAYMENT-SERVICE
at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:560)
at java.base/java.net.Socket.connect(Socket.java:666)
at java.base/java.net.Socket.connect(Socket.java:600)
at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:183)
at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:531)

 

在restTemplate bean上增加注解 @LoadBanlanced

复制代码
@Configuration

public class AppContextConfig {
    @Bean
    @LoadBalanced
    public RestTemplate getRestTmp()
    {

        return new RestTemplate();

    }

}
复制代码

 

原因:

服务有多个, 如果不开启负载均衡,eureka不知道是分配哪一个 ,会报这个错误 ERROR:java.net.UnknownHostException:

 

posted on   hztech  阅读(53)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示