configure RestClient timeouts

Signed-off-by: Peter Siegmund <developer@mars3142.org>
This commit is contained in:
2024-10-28 14:34:29 +01:00
parent f8746fd0dc
commit e531050883

View File

@@ -1,10 +1,15 @@
package dev.mars3142.fhq.timezone_service.config; 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.CacheManager;
import org.springframework.cache.annotation.EnableCaching; import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cache.concurrent.ConcurrentMapCacheManager; import org.springframework.cache.concurrent.ConcurrentMapCacheManager;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.http.client.ClientHttpRequestFactory;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.web.client.RestClient; import org.springframework.web.client.RestClient;
@Configuration @Configuration
@@ -12,8 +17,18 @@ import org.springframework.web.client.RestClient;
public class AppConfig { public class AppConfig {
@Bean @Bean
public RestClient.Builder restClientBuilder() { public ClientHttpRequestFactory getClientHttpRequestFactory() {
return RestClient.builder(); 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 @Bean