UnknownHostException in Spring Boot with Consul

2k views Asked by At

I am using spring-boot-starter-parent version 2.2.2.RELEASE with spring-cloud.version Hoxton.SR1 to create 2 services : ordercreate(Supplier) and orderconsume(Consumer).

In Consul, the 2 services are up as below enter image description here

I get the exception java.net.UnknownHostException: ordercreate when invoking the orderconsumer service as below:

http://localhost:8282/consumeOrder

Please find the code details below.Thanks for suggestions.

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";
    }

}   

For Consumer,

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();
    }
}

0

There are 0 answers