一. 前言
官网使用说明
获取Eureka实例
public String serviceUrl() {
InstanceInfo instance = discoveryClient.getNextServerFromEureka("STORES", false);
return instance.getHomePageUrl();
}
步骤:
二. 导入包
pom.xml
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix</artifactId>
</dependency>
三. 修改启动Application
@EnableCircuitBreaker
@EnableDiscoveryClient
public class HellloMain {
@Bean
@LoadBalanced
RestTemplate restTemplate() {
return new RestTemplate();
}
public static void main(String[] args) {
SpringApplication.run(HelloMain.class, args);
}
}
四. 业务使用
private int xxxx(String body) {
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
MediaType type = MediaType.parseMediaType("application/json");
headers.setContentType(type);
HttpEntity<String> formEntity = new HttpEntity<String>(body, headers);
String result = restTemplate.postForObject(getEurkaClient("hello-module"),
formEntity,
String.class);
return 0;
}
public String getEurkaClient(String end) {
InstanceInfo instance = discoveryClient.getNextServerFromEureka("smarthome-phihome", false);
return instance.getHomePageUrl() + end;
}
这样就可以在应用程序之间互相调用