当不使用@LoadBalanced注解的时候,SpringCloud框架不会解析服务名来获取IP, 我在配置文件中配置的端口号是 8010 ,此时的端口号是80
如图一

如果使用注解就会像这样(如图二或图三),图二是图一使用了@LoadBalanced后的结果,将eureka-payment-8010映射为IP:端口(192.168.137.1:8010)

配置类
@Configuration
public class ApplicationContextConfig {
@Bean
// @LoadBalanced //使用@LoadBalance 注解赋予RestTemplate负载均衡能力/
public RestTemplate getRestTemplate(){
return new RestTemplate();
}
}
请求类
String EUREKA = "http://eureka-payment-8010";
@Autowired
private RestTemplate restTemplate;
@GetMapping("/test2")
public void t1(){
ResponseEntity<Object> forEntity = restTemplate.getForEntity(EUREKA + "/test/hello", null);
System.out.println(forEntity.getStatusCodeValue());
}
网友评论