问题标签 [apache-httpasyncclient]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1463 浏览

java - 使用 Apache Async Http 客户端进行异步响应流式传输

我正在使用 apache async http 客户端从 azure 存储中流式传输对象。

我只需要返回关联流的 HttpResponse 对象。我的客户实际上必须从该流中读取以在本地存储文件。

因此,Apache Async 客户端使用 BasicAsyncResponseConsumer 在调用完成的回调之前实际上将整个文件缓冲在本地内存中。

我正在尝试创建自己的 AbstractAsyncResponseConsumer 实现,以便我可以流式传输响应主体,而不是首先实际存储它,但到目前为止还没有成功。

这是供参考的基本消费者类->

}

这是发送请求并返回响应的代码->

我将向我的客户返回 HttpResponse 对象的 CompletableFuture。

他们不应该等待我的 http 客户端首先在本地缓冲区中读取所有响应正文。

理想情况下,他们应该直接从响应对象中提供的流开始复制。

我应该在消费者的实现中添加什么以获得所需的结果?

0 投票
1 回答
15177 浏览

java - 如何在Java中并行调用多个rest api?

在 Java 中并行调用多个 api 的最佳方法是什么?我想做多个休息调用,组合结果并返回一个 jsonArray。我正在使用 ExecutorService 并在我仅从一台客户端 PC 访问 url 时获得正确的输出。但是当我从多个客户端访问 url 时,每次我都会得到一个不同大小的 jsonArray,即使我正在调用相同的 url。

我所做的如下:

0 投票
1 回答
842 浏览

java - Apache Commons AsyncClient - 忽略证书 - SSLPeerUnverifiedException

以为我禁用了在我的 Http 客户端中检查证书,但继续获取SSLPeerUnverifiedException.

这是我的客户:

例外:

以及我引入的依赖版本:

0 投票
0 回答
813 浏览

java - java.io.IOException:异步 http 客户端调用的对等错误重置连接

我正在使用 Apache http 异步客户端库进行并行 HTTP 调用并接收回调响应。当代码部署在服务器上时,我在请求后收到以下错误。

这是我的依赖项

我该如何解决?提前致谢。

添加我的代码以供参考

Anyhelp将被appriciated。任何人?

0 投票
0 回答
572 浏览

elasticsearch - JestClient 的 SocketTimeOutException 和 ConnectionClosedException

我们正在使用 JestClient 连接到弹性搜索。(io.searchbox.client.JestClient)。并使用 executeAsync 方法写入弹性搜索。我们在不同的环境中部署了相同的代码,例如开发、测试、..prod。

在具有标称负载的 Dev 上,我们观察到间歇性异常如下:

在舞台上和负载很重的产品上,我们观察到异常为:

但我们没有看到任何数据丢失。一切都正确持久。其中一篇博客说超时异常是 apache asynch http 客户端中的错误

https://github.com/elastic/elasticsearch/issues/24069

这个对吗?我们有什么解决方案吗?

关于 SocketTimeouException 的任何提示?

弹性搜索版本是 2.4.4

0 投票
0 回答
222 浏览

java - HttpAsyncClient 回调中的异常记录

如何记录 Apache HttpAsyncClient 回调方法中发生的异常?例如下面的代码抛出 NullPointerException,但它是隐藏的。

当我运行它时,我没有看到任何异常记录。如何为此配置记录器?似乎默认使用NO_OP ExceptionLogger,我找不到更改它的方法。

0 投票
1 回答
107 浏览

apache-httpasyncclient - 当 CountDownLatch 计数为零时,丢失的 HTTP 请求在哪里?

我正在测试一个使用CloseableHttpAsyncClient客户端发送一组 http 请求的多线程代码(请参阅下面的代码片段)。

我正在获得以下输出:

因此,其中两个线程正确执行了所有 1000 个请求,另外两个线程有​​正确捕获的连接错误,其中一个线程(编号 1)完成了 999 个请求,并且没有任何失败或取消的通知。

我的问题是:

  1. failed 方法中是否有任何方法可以了解哪个是失败的请求,所以我可以进行后期处理以重新发送那些失败的请求?

  2. 为什么如果没有失败,取消或异常引发倒计时数达到0,而并非所有请求都已完成?

    /li>

提前谢谢了。

0 投票
1 回答
3558 浏览

java - 性能:Apache HttpAsyncClient 与多线程 URLConnection

我正在尝试选择并行发出大量 http 请求的最佳方法。以下是我到目前为止的两种方法:

  1. 使用 Apache HttpAsyncClient 和 CompletableFutures:

    /li>
  2. 传统的按请求线程方法:

    /li>

在多次运行中,我注意到传统方法的完成速度几乎是异步/未来方法的两倍

尽管我希望专用线程运行得更快,但差异是否应该如此显着,或者异步实现可能有问题?如果没有,这里的正确方法是什么?

0 投票
0 回答
311 浏览

java - CloseableAsyncHttpClient 不适用于发布多部分请求,响应回调未调用

我正在尝试使用 Apache Async Http Client 执行带有表单参数的 MultiPart 请求。

下面是我的 HttpClientManager,

下面的部分是我如何尝试调用我的 api,

我面临的问题是每当我尝试连接到我得到SocketTimeoutException的 api 时,虽然 api 能够响应我的邮递员请求。如果我遗漏了什么,请告诉我。

0 投票
0 回答
476 浏览

java - 使用 Apache Async HTTP 客户端从 InputStream 构造多部分请求

我正在尝试通过 apache 异步 http 客户端发送多部分请求,但出现org.apache.http.ContentTooLongException: Content length is unknown错误。

我确实理解为什么异步模型中需要内容长度,但想了解这是由设计完成的还是它的错误?

我希望它将流加载到内存缓冲区并使用它(这就是 AsyncHttpClient 所做的)。

我的测试用例是:

异常堆栈跟踪是:

完整的源代码可以在以下位置找到:https ://github.com/maximkir/apache-async-http

总的来说,我是SHCF4J(Java 的简单 HTTP 客户端)的作者,它努力为常见的 HTTP 客户端用例提供统一的外观。我可以在外观级别上修复它,但更愿意将其逻辑保持在尽可能小。