【问题标题】:httpClient connection pool manager validateAfterInactivityhttpClient 连接池管理器 validateAfterInactivity
【发布时间】:2019-05-24 16:03:41
【问题描述】:

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

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

它究竟如何重新验证连接?想了解过程。它是否向服务器发送任何http请求或重新验证的东西,或者其他东西?

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

【问题讨论】:

    标签: java spring connection httpclient connection-pooling


    【解决方案1】:

    它使用 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

    【讨论】:

    • 我不明白,这个问题和JDBC有什么关系
    猜你喜欢
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-18
    相关资源
    最近更新 更多