web-dev-qa-db-fra.com

Comment définir un délai d'expiration de connexion client Feign personnalisé?

J'ai une application Spring Boot avec ces dépendances Gradle:

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")

J'ai aussi un client Feign:

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

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

}

Ma application.properties:

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

Lorsque le temps de requête est supérieur à 1 seconde, j'obtiens une exception:

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

Donc ma question est: comment puis-je définir un délai d'expiration de connexion client Feign personnalisé? Par exemple à 2 secondes.

7
Roman Cherepanov

J'ai résolu mon problème en utilisant ceci réponse à la question: la commande Hystrix échoue avec "délai dépassé et aucune solution de secours disponible".

J'ai ajouté hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=4000 à mon application.properties pour définir un délai d'expiration personnalisé.

17
Roman Cherepanov