JVM内存不足异常导致连接池关闭

时间:2019-06-14 09:41:23

标签: httpclient connection-pooling apache-httpcomponents

在JVM中收到Out.Of.Memory错误后,我正在观察httpclient中的“连接池关闭”异常。

我正在将aws-java-sdk-s3 v1.11.547 awsClient与httpclient 4.5.8一起使用。 JVM抛出内存不足异常后,对awsClient(getObject)的任何调用都会失败。

以下提交https://github.com/apache/httpcomponents-client/commit/ca98ad69adad79de57d8b944ba524f7267a795cb似乎是原因。它会在出现错误时关闭连接池,而不是关闭连接。

即使从异常中恢复后,对awsClient的调用仍然失败。

此后,这是httpclient v4.5.7中的错误吗?另外,在执行不同的代码路径(即对awsClient的调用之外)时收到了Out.Of.Memory,这是否意味着连接管理器在类实例之间共享?

1 个答案:

答案 0 :(得分:0)

现在不推荐使用v4.5.6。允许连接泄漏,而不是按照提交(在问题中共享)进行修复,从而关闭