Springs RestTemplate 默认连接池

标签 spring connection-pooling resttemplate

只是想知道开箱即用的 RestTemplate 是使用连接池还是每次都建立一个新连接?

最佳答案

是的,Spring RestTemplateBuilder 使用 Apache HttpClient 进行池化 (usage)。 RestTemplateBuilder 创建 HttpComponentsClientHttpRequestFactory 并使用 HttpClientBuilder

HttpClientBuilder,默认情况下,将每个路由(主机)的池大小设置为 5,将总池大小设置为 10 (source):

s = System.getProperty("http.maxConnections", "5"); 
int max = Integer.parseInt(s); 
poolingmgr.setDefaultMaxPerRoute(max); 
poolingmgr.setMaxTotal(2 * max); 
            

要检查连接池日志记录设置日志记录级别如下:

org.apache.http.impl.conn.PoolingHttpClientConnectionManager=TRACE

关于Springs RestTemplate 默认连接池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44188847/

相关文章:

java - 如何将响应变量建模为来自后端的响应

mysql - NodeJs + MySql 连接池 ER_WAIT_LOCK_TIMEOUT 有时只有

java - Tomcat/数据库设置 - JDBC 连接池

java - 为什么我在使用 RestTemplate 获取数据时总是得到 403?

java - 如何使用 spring RestTemplate 生成带有二进制数据的curl 请求?

java - Websphere MQ 持久主题超时

java - 重构庞大的类时如何使用 Spring

java - 无法使用 ServletFileUpload 上传 100MB 文件

c# - 为什么 sysprocesses 在 SQL Server 上长时间处于打开状态?

spring-mvc - Spring引导无法访问ClientHttpRequestInterceptor中的@Value