java - httpClient 连接池管理器 validateAfterInactivity

标签 java spring connection httpclient connection-pooling

我正在查看 PoolingHttpClientConnectionManager https://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/impl/conn/PoolingHttpClientConnectionManager.html 的文档

有一个 API setValidateAfterInactivity。 validateAfterInactivity 对我来说不是很清楚。它说 - “定义不活动时间(以毫秒为单位),在此之后持久连接必须在租给消费者之前重新验证”

它到底如何重新验证连接?想了解一下过程。它是否向服务器发送任何 http 请求或需要重新验证的内容,或者其他内容?

它用于重新验证连接的标准/机制是什么?这一切是如何运作的?

最佳答案

它使用 JDBC 连接来进行验证。

                    final ManagedHttpClientConnection conn = poolEntry.getConnection();
                    if (conn != null) {
                        conn.activate();
                    } else {
                        poolEntry.assignConnection(connFactory.createConnection(null));
                    }
                    if (log.isDebugEnabled()) {
                        log.debug("Connection leased: " + ConnPoolSupport.formatStats(
                                poolEntry.getConnection(), route, state, pool));
                    }

源代码here

关于java - httpClient 连接池管理器 validateAfterInactivity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56296101/

相关文章:

java - 循环访问 3 个不同的 JDBC 结果集

java - 从图库中获取所有图像并将其存储在数组中

java - RxJava 2 - 在另一个 Completable 之后调用 Completable

java - 在 RowMapper 中使用查询

java - 为什么 Spring 使用 ForkPoolJoin 而不是带有 @Async 的 ThreadPoolTask​​Executor?

java - MySql连接重用用于不同的请求

javascript - Mongo解析错误: Invalid connection string

java - 如何从注释处理器读取枚举常量的值?

Spring Security 执行顺序

java - cassandra db 慢速连接