主要原因
是因为使用了负载均衡注解@LoadBalanced,加上负载均衡注解后,就会去注册中心寻找服务。因为是第三方的服务(或,用的是ip,而不是实例名;或,自己的项目并没有注册到eureka),所以报找不到实例的异常。
@Bean @LoadBalanced public RestTemplate restTemplate(ClientHttpRequestFactory clientHttpRequestFactory) { // boot中可使用RestTemplateBuilder.build创建 RestTemplate restTemplate = new RestTemplate(); modifyDefaultCharset(restTemplate); // 配置请求工厂 restTemplate.setRequestFactory(clientHttpRequestFactory); return restTemplate; }private void modifyDefaultCharset(RestTemplate restTemplate) { List<HttpMessageConverter<?>> converterList = restTemplate.getMessageConverters(); HttpMessageConverter<?> converterTarget = null; for (HttpMessageConverter<?> item : converterList) { if (StringHttpMessageConverter.class == item.getClass()) { converterTarget = item; break; } } if (null != converterTarget) { converterLi