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:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通