【发布时间】:2020-02-04 13:47:47
【问题描述】:
我使用 Spring Boot 并创建了一个服务(微服务设计的一部分)。我有以下方法,
public static HttpClient getHttpClient() throws KeyManagementException, NoSuchAlgorithmException {
log.info("Creating Http Client...");
final SSLConnectionSocketFactory sslConnectionSocketFactory = new SSLConnectionSocketFactory(
new SSLContextBuilder().build());
final PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager();
connectionManager.setMaxTotal(200);
connectionManager.setDefaultMaxPerRoute(20);
return HttpClients.custom()
.disableRedirectHandling()
.setSSLSocketFactory(sslConnectionSocketFactory)
.setConnectionManager(connectionManager)
.build();
}
我多次调用此方法,只想维护一个实例并在创建后重用它。考虑到并发编程,我可以使用单例模式吗?我看到 RestTemplate 是相当不错的方法,而不是下面链接中的 Apache Http Client,
RestTemplate vs Apache Http Client for production code in spring project
非常感谢您的建议。
【问题讨论】:
-
你可以只创建一个bean
标签: spring-boot design-patterns java-8 apache-httpclient-4.x