From e531050883b614ab57fecef82de9a975d7d2b25d Mon Sep 17 00:00:00 2001 From: Peter Siegmund Date: Mon, 28 Oct 2024 14:34:29 +0100 Subject: [PATCH] configure RestClient timeouts Signed-off-by: Peter Siegmund --- .../timezone_service/config/AppConfig.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/main/java/dev/mars3142/fhq/timezone_service/config/AppConfig.java b/src/main/java/dev/mars3142/fhq/timezone_service/config/AppConfig.java index 4ede083..394db3a 100644 --- a/src/main/java/dev/mars3142/fhq/timezone_service/config/AppConfig.java +++ b/src/main/java/dev/mars3142/fhq/timezone_service/config/AppConfig.java @@ -1,10 +1,15 @@ package dev.mars3142.fhq.timezone_service.config; +import java.time.Duration; +import java.time.temporal.ChronoUnit; +import lombok.val; import org.springframework.cache.CacheManager; import org.springframework.cache.annotation.EnableCaching; import org.springframework.cache.concurrent.ConcurrentMapCacheManager; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.http.client.ClientHttpRequestFactory; +import org.springframework.http.client.SimpleClientHttpRequestFactory; import org.springframework.web.client.RestClient; @Configuration @@ -12,8 +17,18 @@ import org.springframework.web.client.RestClient; public class AppConfig { @Bean - public RestClient.Builder restClientBuilder() { - return RestClient.builder(); + public ClientHttpRequestFactory getClientHttpRequestFactory() { + val requestFactory = new SimpleClientHttpRequestFactory(); + requestFactory.setConnectTimeout(Duration.of(6, ChronoUnit.SECONDS)); + requestFactory.setReadTimeout(Duration.of(30, ChronoUnit.SECONDS)); + return requestFactory; + } + + @Bean + public RestClient.Builder restClientBuilder(ClientHttpRequestFactory requestFactory) { + return RestClient + .builder() + .requestFactory(requestFactory); } @Bean