How to set custom Feign client connection timeout?

Roman Cherepanov picture Roman Cherepanov · Jan 4, 2017 · Viewed 29.2k times · Source

I have Spring Boot application with this Gradle dependencies:

compile("org.springframework.cloud:spring-cloud-starter-eureka")
compile("org.springframework.cloud:spring-cloud-starter-feign")
compile("org.springframework.cloud:spring-cloud-starter-ribbon")
compile("org.springframework.cloud:spring-cloud-starter-hystrix")
compile("org.springframework.cloud:spring-cloud-starter-config")

Also I have Feign client:

@FeignClient(name = "client")
public interface FeignService {

    @RequestMapping(value = "/path", method = GET)
    String response();

}

My application.properties:

client.ribbon.listOfServers = http://localhost:8081
ribbon.eureka.enabled=false

When query time is more than 1 second I get exception:

com.netflix.hystrix.exception.HystrixRuntimeException: response timed-out and no fallback available.

So my question is: how can I set custom Feign client connection timeout? For example to 2 seconds.

Answer

Roman Cherepanov picture Roman Cherepanov · Jan 4, 2017

I solved my problem using this answer on question: Hystrix command fails with “timed-out and no fallback available”.

I added hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=4000 to my application.properties to set custom timeout.