миграция SpringBoot2 на Springboot 3 с restClient на webClient

на самом деле я мигрирую с Springboot 2 на 3, и я борюсь с настройкой httpClient Spring WebClient, и мой вопрос:

какой http-клиент использовать? java 17 net.httpClient, Netty Reactor, или можем ли мы оставить HTTP-клиент Apache. Мне нужно сохранить ssl, механизм кэширования и пул, но в netty у нас нет всех этих функций, вот фрагмент кода моей конфигурации с Springboot 2:

        return new RestTemplateBuilder()
                .requestFactory(() -> {
                    CacheConfig cacheConfig = CacheConfig.custom()
                            .setMaxCacheEntries(100)
                            .build();
                    RequestConfig requestConfig = RequestConfig.custom()
                            .setConnectTimeout(5000, TimeUnit.MILLISECONDS)
                            .setSocketTimeout(5000,TimeUnit.MILLISECONDS)
                            .build();

                    HttpClientBuilder httpClientBuilder = CachingHttpClients.custom()
                            .setCacheConfig(cacheConfig)
                            .setDefaultRequestConfig(requestConfig);

                    SslStore truststore = backendProperties.getTruststore();
                    SslStore keystore = backendProperties.getKeystore();
                    if (truststore != null && truststore.getPath() != null && keystore != null && keystore.getPath() != null) {
                        LayeredConnectionSocketFactory sslSocketFactory = SslUtils.readSSLSocketFactory(truststore.getPath(), truststore.getPassword(), keystore.getPath(), keystore.getPassword());
                        if (sslSocketFactory != null) {
                            httpClientBuilder.setSSLSocketFactory(sslSocketFactory);
                        }
                    }

                    HttpClient client = httpClientBuilder.build();
                    return new HttpComponentsClientHttpRequestFactory(client);
                })
                .build();

Спасибо

0 ответов

Другие вопросы по тегам