0
votes

I have a eureka server configured and inside that eureka server I have written a rest api. Now I have a eureka client service and I am trying to call one of the method of eureka service using feign from client service. But I am getting an error "Load balancer does not have available server for client: eureka-service".

But If I call api from a client service to another client service using feign then it is giving successful result. Just can't call API from eureka service.

eureka-service is application name of my eureka server.

@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {
 public static void main(String[] args) {
    SpringApplication.run(EurekaApplication.class, args);
 }
}

@RestController
@RequestMapping("test")
public class TestController {
 @GetMapping
 public String test(){
    return "test success";
 }
}

bootstrap.yml of eureka service

eureka:
 client:
  registerWithEureka: false
  fetchRegistry: false 
  eureka-server-read-timeout-seconds: 60
  eureka-server-connect-timeout-seconds: 60
  serviceUrl:
   defaultZone: http://localhost:8763/eureka/ 
 dashboard:
  enabled: true
spring:
 application:
  name: eureka-service

And client service is:

@SpringBootApplication
@EnableFeignClients
@EnableDiscoveryClient
public class ClientApplication {

    public static void main(String[] args) {
        SpringApplication.run(ClientApplication.class, args);
    }
}



@FeignClient("eureka-service")
public interface TestFeign {
  @GetMapping("test")
  String test();
}

bootstrap.yml of client service

eureka:
 client:
  registerWithEureka: true 
  fetchRegistry: true
  eureka-server-read-timeout-seconds: 60
  eureka-server-connect-timeout-seconds: 60
  serviceUrl:
   defaultZone: http://localhost:8763/eureka/ 
spring:
 application:
  name: client-service
feign:
 hystrix:
  enabled: true

ERROR log : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is com.netflix.hystrix.exception.HystrixRuntimeException: TestFeign#test() failed and no fallback available.] with root cause com.netflix.client.ClientException: Load balancer does not have available server for client: eureka-service.

How can we solve this issue. Thanks for help in advance.

1

1 Answers

0
votes

You need to scan your interfaces that declare they are FeignClients with the @EnableFeignClients annotation in your main class and add the feign.hystrix.enabled=true property.