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.
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é.