Я использую spring-boot-starter-parent версию 2.2.2.RELEASE с spring-cloud.version Hoxton.SR1 для создания 2 сервисов: ordercreate (Поставщик) и orderconsume (Потребитель).
В Консул, 2 службы работают как показано ниже:
Я получаю исключение java. net .UnknownHostException: ordercreate при вызове службы orderconsumer как показано ниже:
http://localhost: 8282 / потреблениеOrder
Пожалуйста, найдите код детали ниже. Спасибо за предложения.
OrderCreate
POM. xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
application.properties
spring.application.name=ordercreate
server.port=8181
OrderCreateController
@RestController
public class OrderCreateController {
@GetMapping("/createOrder")
public String createOrder() {
System.out.println("In Supplier...");
return "Hello consul";
}
}
Для потребителя,
Orderconsume
pom. xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
application.properties
spring.application.name=orderconsume
server.port=8282
OrderConsumeApplication
@SpringBootApplication
@EnableDiscoveryClient
public class OrderConsumeApplication {
public static void main(String[] args) {
SpringApplication.run(OrderConsumeApplication.class, args);
}
}
OrderConsumeController
@RestController
public class OrderConsumeController {
@Autowired
private RestTemplate restTemplate;
//http://localhost:8282/consumeOrder
@GetMapping(value="/consumeOrder")
public String receiveOrder() {
String uri = "http://ordercreate/createOrder";
return restTemplate.getForObject(uri, String.class);
}
@Bean
public RestTemplate getRestTemplate() {
return new RestTemplate();
}
}