gpt4 book ai didi

java - 这是使用 AIMDBackoffManager 实例化 HttpClient 的正确方法吗?

转载 作者:太空宇宙 更新时间:2023-11-04 07:20:14 25 4
gpt4 key购买 nike

背景:

  1. 我正在使用 HttpClient (SolrJ) 连接到 Solr 服务。不过,这个问题与 Solr 没有直接关系。

  2. 我在进行负载测试时遇到了以下问题。

    由以下原因引起:java.lang.IllegalStateException:BasicClientConnManager 的使用无效:连接仍在分配。

  3. SOF 答案 - 使用池连接管理器

    Invalid use of BasicClientConnManager: connection still allocated

问题:

我正在使用PoolingHttpClientConnectionManager如下面的代码所示。我希望使用 AIMDBackoffManager 来管理它,而不是手动限制连接大小。 。但是,我发现 AIMDBackoffManager 需要连接池作为其参数。

public static final PoolingClientConnectionManager poolingConnectionManager = new PoolingClientConnectionManager();

public static DefaultHttpClient getHttpClient(){

DefaultHttpClient httpClient = new DefaultHttpClient(poolingConnectionManager);
httpClient.setBackoffManager(new AIMDBackoffManager(poolingConnectionManager));

...
...

}

我在 google 上搜索了相当多的内容,但找不到任何有关 BackoffManager 用法的示例。所以,这就是我所做的,但我对将连接管理器两次传递给 DefaultHttpClient 并不感到兴奋。或者考虑到我第一次将其传递给 HttpClient 和第二次将其传递给 BackoffManager,我是否应该担心?

我正在使用httpclient-4.2.3

最佳答案

我也冒险进入了这片深水区。我一直在研究如何使用 ServiceUnavailableRetryStrategy ,在我的例子中,由于 BackoffManager ,它似乎失败了。我的印象是这不是一个完成的功能,因为我无法通过 google 搜索到它的用法,而且 HttpClient 源代码中也没有太多内容。

关于java - 这是使用 AIMDBackoffManager 实例化 HttpClient 的正确方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19449027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com