RestTemplate报异常java.lang.IllegalStateException:No instances available for localhost

 

Spring Cloud RestTemplate报错:java.lang.IllegalStateException: No instances available for xxx

我在测试RestTemplate get请求转发到我本地起的一个服务实例时 一直报上述异常, 但是我将请求接口地址直接输入到浏览器是可以访问的。并且我不改url参数请求到服务器上的服务实例上也是正常运行的,于是怀疑自己注入的RestTemplate有毒,尝试在方法里new 一个restTemplate, BUG解决. (等工作包完成了回来研究) 然后就开始研究注入的restTemplate对象, 发现他的@Bean上海带了一个@LoadBalanced注解,回忆下当时学的知识,就是有个拦截器 会让这个restTemplate变成一个带有负载均衡功能的请求器. 这个负载均衡功能的请求器会去eureka注册中心上去找相关url所注册的application.name, 所以才导致我请求到服务器上的服务实例可以正常运行,本地的服务实例却不行, 因为本地的服务实例没有注册到eureka的注册中心上, 自然就会报这个异常了