问题标签 [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.
java - 使用 Apache Async Http 客户端进行异步响应流式传输
我正在使用 apache async http 客户端从 azure 存储中流式传输对象。
我只需要返回关联流的 HttpResponse 对象。我的客户实际上必须从该流中读取以在本地存储文件。
因此,Apache Async 客户端使用 BasicAsyncResponseConsumer 在调用完成的回调之前实际上将整个文件缓冲在本地内存中。
我正在尝试创建自己的 AbstractAsyncResponseConsumer 实现,以便我可以流式传输响应主体,而不是首先实际存储它,但到目前为止还没有成功。
这是供参考的基本消费者类->
}
这是发送请求并返回响应的代码->
我将向我的客户返回 HttpResponse 对象的 CompletableFuture。
他们不应该等待我的 http 客户端首先在本地缓冲区中读取所有响应正文。
理想情况下,他们应该直接从响应对象中提供的流开始复制。
我应该在消费者的实现中添加什么以获得所需的结果?
java - 如何在Java中并行调用多个rest api?
在 Java 中并行调用多个 api 的最佳方法是什么?我想做多个休息调用,组合结果并返回一个 jsonArray。我正在使用 ExecutorService 并在我仅从一台客户端 PC 访问 url 时获得正确的输出。但是当我从多个客户端访问 url 时,每次我都会得到一个不同大小的 jsonArray,即使我正在调用相同的 url。
我所做的如下:
java - Apache Commons AsyncClient - 忽略证书 - SSLPeerUnverifiedException
以为我禁用了在我的 Http 客户端中检查证书,但继续获取SSLPeerUnverifiedException
.
这是我的客户:
例外:
以及我引入的依赖版本:
java - java.io.IOException:异步 http 客户端调用的对等错误重置连接
我正在使用 Apache http 异步客户端库进行并行 HTTP 调用并接收回调响应。当代码部署在服务器上时,我在请求后收到以下错误。
这是我的依赖项
我该如何解决?提前致谢。
添加我的代码以供参考
Anyhelp将被appriciated。任何人?
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
java - HttpAsyncClient 回调中的异常记录
如何记录 Apache HttpAsyncClient 回调方法中发生的异常?例如下面的代码抛出 NullPointerException,但它是隐藏的。
当我运行它时,我没有看到任何异常记录。如何为此配置记录器?似乎默认使用NO_OP ExceptionLogger,我找不到更改它的方法。
apache-httpasyncclient - 当 CountDownLatch 计数为零时,丢失的 HTTP 请求在哪里?
我正在测试一个使用CloseableHttpAsyncClient客户端发送一组 http 请求的多线程代码(请参阅下面的代码片段)。
我正在获得以下输出:
因此,其中两个线程正确执行了所有 1000 个请求,另外两个线程有正确捕获的连接错误,其中一个线程(编号 1)完成了 999 个请求,并且没有任何失败或取消的通知。
我的问题是:
failed 方法中是否有任何方法可以了解哪个是失败的请求,所以我可以进行后期处理以重新发送那些失败的请求?
为什么如果没有失败,取消或异常引发倒计时数达到0,而并非所有请求都已完成?
/li>
提前谢谢了。
java - 性能:Apache HttpAsyncClient 与多线程 URLConnection
我正在尝试选择并行发出大量 http 请求的最佳方法。以下是我到目前为止的两种方法:
使用 Apache HttpAsyncClient 和 CompletableFutures:
/li>传统的按请求线程方法:
/li>
在多次运行中,我注意到传统方法的完成速度几乎是异步/未来方法的两倍。
尽管我希望专用线程运行得更快,但差异是否应该如此显着,或者异步实现可能有问题?如果没有,这里的正确方法是什么?
java - CloseableAsyncHttpClient 不适用于发布多部分请求,响应回调未调用
我正在尝试使用 Apache Async Http Client 执行带有表单参数的 MultiPart 请求。
下面是我的 HttpClientManager,
下面的部分是我如何尝试调用我的 api,
我面临的问题是每当我尝试连接到我得到SocketTimeoutException
的 api 时,虽然 api 能够响应我的邮递员请求。如果我遗漏了什么,请告诉我。
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 客户端用例提供统一的外观。我可以在外观级别上修复它,但更愿意将其逻辑保持在尽可能小。