问题标签 [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 回答
2425 浏览

java - PoolingNHttpClientConnectionManager:什么是 timeToLive 属性?

我想了解 timeToLive 属性是如何工作的?

这是当你从池中得到一个连接时,连接被故意关闭并返回池的时间间隔?

API

我希望使用持久连接的客户端每隔几秒钟关闭一次,因此对负载均衡器的请求每隔几秒钟就会发送到新服务器。

0 投票
1 回答
673 浏览

apache-httpclient-4.x - Apache HttpComponents CookieStore 不存储 Cookie

我正在使用 HttpComponents 4.5.2 并且我正在尝试存储 cookie,因为我需要将它们用于登录和其他请求。该代码在应用程序仍在运行时工作正常,但这里的问题是当我重新启动它时,应该存储在 CookieStore 中的 cookie 不存在。这是我写的:

我已经阅读了 HttpComponents 文档和关于 cookie 的第 3.5 节说:

HttpClient 可以使用实现 CookieStore 接口的持久 cookie 存储的任何物理表示。称为 BasicCookieStore 的默认 CookieStore 实现是一个由 java.util.ArrayList 支持的简单实现。当容器对象被垃圾回收时,存储在 BasicClientCookie 对象中的 Cookie 会丢失。如有必要,用户可以提供更复杂的实现

所以我想知道是否让用户来实现某种可以有效存储cookie的结构,或者我是否遗漏了一些东西。

0 投票
1 回答
1665 浏览

scala - 火花提交中的 NoSuchMethodError

我使用 spark-submit 提交了带有依赖项的 jar 以激发火花。在我的 jar 的主要方法中,我想创建HttpAsyncCliens实例并执行一些请求(apache http 异步客户端库):

它抛出异常:

线程“pool-1-thread-1”中的异常 java.lang.NoSuchMethodError: org.apache.http.util.Asserts.check(ZLjava/lang/String;Ljava/lang/Object;)V at org.apache.http .impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:315) 在 org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager.execute(PoolingNHttpClientConnectionManager.java:191) 在 org.apache.http.impl.nio .client.CloseableHttpAsyncClientBase$1.run(CloseableHttpAsyncClientBase.java:64) at java.lang.Thread.run(Thread.java:745) 线程“main”中的异常 java.lang.NoSuchMethodError: org.apache.http.util.Asserts .check(ZLjava/lang/String;Ljava/lang/Object;)V 在 org.apache.http.impl.nio.client.CloseableHttpAsyncClientBase.ensureRunning(CloseableHttpAsyncClientBase.java:90) 在 org.apache.http.impl.nio.client.CloseableHttpAsyncClient.execute(CloseableHttpAsyncClient.java:74) 在 org.apache.http.impl.nio.client.InternalHttpAsyncClient.execute(InternalHttpAsyncClient.java:123) 在 org .apache.http.impl.nio.client.CloseableHttpAsyncClient.execute(CloseableHttpAsyncClient.java:107) 在 org.apache.http.impl.nio.client.CloseableHttpAsyncClient.execute(CloseableHttpAsyncClient.java:91) 在 spark.Application$。 main(Application.scala:37) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect 的 spark.Application.main(Application.scala) java.lang.reflect 中的 .DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)。Method.invoke(Method.java:498) 在 org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:731) 在 org.apache.spark.deploy。 SparkSubmit$.doRunMain$1(SparkSubmit.scala:181) at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206) at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala: 121) 在 org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)121) 在 org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)121) 在 org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

我的 jar 中似乎没有 http-core 依赖项,但我可以org.apache.http.util.Asserts.check(ZLjava/lang/String;Ljava/lang/Object;)V在 http 客户端创建和请求之前或之后在代码中调用此方法 ():

如果我可以从代码中的同一类路径调用此方法,为什么会得到 NoSuchMethodError?

Apache httpasyncclient v4.1

0 投票
3 回答
2791 浏览

java - 将上下文传递给异步 Logger

我正在尝试从 http 客户端记录原始请求/响应。我正在按照这些日志记录说明中的 log4j2 配置进行操作。

HttpAsync 客户端依赖:- httpasyncclient(4.1.1 版)

log4j2.xml

它打印得很好,但线程上下文没有传递到线路记录器上。

例子 :-

如何将 ThreadContext 传递给记录器?

谢谢。

0 投票
1 回答
2035 浏览

java - 使用 HttpAsyncClients 设置重试次数

用典型的HttpAsyncClients例子:

如果没有响应,设置重试次数的方法是什么?我可以看到5。

有:httpClientBuilder_setRetryHandler

有什么办法HttpAsyncClients

0 投票
0 回答
571 浏览

java - 如何在 Spring 中使用缓存创建 AsyncRestTemplate?

我想创建一个AsyncRestTemplate也启用了 Http 缓存的...

根据我的阅读,似乎我需要通过创建 AsyncHttpClient 来显式启用 Http 缓存(如何创建异步缓存 http 客户端? )。

不幸的是,我找不到任何RestTemplate(或ClientHttpRequestFactory)允许我使用HttpAsyncClient接口的构造函数(令人沮丧的是HttpComponentsAsyncClientHttpRequestFactory采用CloseableHttpAsyncClient抽象类??)。

我目前正在考虑编写一个自定义ClientHttpRequestFactory作为输入AsyncRestTemplate- 我在正确的道路上吗?

有关的:

0 投票
2 回答
3764 浏览

java - 通过 apache http nio 使用 elasticsearch REST Java 客户端的 OutOfMemoryError

我们正在使用 elasticsearch REST Java 客户端(我们使用的是 Java 7,因此无法使用普通的 elasticsearch Java 客户端)与我们的 elasticsearch 服务器进行交互。除了我们尝试对大约 130 万个文档进行初始索引时,这一切都很好。这运行了一段时间,但在几十万个文件之后,我们得到了一个

其次是

如您所见,Elasticsearch REST 客户端正在使用 apache http nio。我发现奇怪的是 nio 库正在为每个请求(或连接?)创建一个线程。从上面的日志中您可以看到线程 (pool-837116-thread-1)。还有很多 I/O 调度程序线程,数量不断增加。

不过,活动线程的总数似乎没有太大变化。因此,似乎不是重用线程,而是为每个连接周期创建一个(或两个实际上)新线程。上传基本上是:

1.创建客户端

2. 发送带有json body的请求并关闭客户端

这是正常的吗?为什么 apache nio 不重用线程?这是弹性搜索 REST 客户端、apache nio 还是我的代码的问题?我打电话给restClient,不知道我还应该做什么。

我试图在 IO Reactor 上将线程数设置为 1:

但这并没有改变关于线程重用的任何内容。

0 投票
1 回答
2420 浏览

java - MultipartFormEntity - 内容太长

我将 Java 与 HttpAsyncClient 一起使用,并尝试使用 multipart/form 向服务器发出发布请求。有两个参数:一个只是一个字符串,而第二个是一个文件/字节数组。当我需要执行大尺寸字节数组的请求时,我得到以下异常:org.apache.http.ContentTooLongException: Content length is too long。

有没有办法克服这个问题?如何使用 Java 和此实体通过 multipart/form 发出大型请求?

这是我的一些代码:

rawContent 只是一个字节数组。

0 投票
1 回答
618 浏览

java - ArrayStoreException 使用 apache httpasyncclient 发帖

实际上,客户端驻留在 Tomcat 8080 中,而 REST API 驻留在 9090 中。当它移动到更高的环境时,URL 会有所不同。我没有看到使用 httpasyncclient 调用 REST API。我从 Apache 网站https://hc.apache.org/httpcomponents-asyncclient-dev/examples.html复制了代码

不确定,即使我收到异常响应,如何使呼叫成功

我没有找到任何有用的信息来解决这个问题。任何帮助都会让我开心

javadocs说

打开声明 java.util.concurrent.ExecutionException 尝试检索因抛出异常而中止的任务的结果时抛出的异常。可以使用 getCause() 方法检查此异常。

0 投票
1 回答
846 浏览

java - CloseableHttpAsyncClient 中的响应时间

我正在使用 apache 的 CloseableHttpAsyncClient API 来处理多个请求而不关心响应。

我的代码:-

//设置HTTP客户端:-

但是多个请求的持续时间无法正常进行。有什么建议吗?