gpt4 book ai didi

apache-httpclient-4.x - 带有 JDK11 错误的 Spring RestTemplate 发布超过特定限制的数据

转载 作者:行者123 更新时间:2023-12-04 08:40:20 25 4
gpt4 key购买 nike

我正在使用带有 JDK11 的 OAuth2RestTemplate 来使用 Json 数据(860 行和 26 KB)发出 POST 请求。奇怪的是,该代码在生产服务器上使用 < 700 Json 行(或 20 KB)以及在本地机器上使用 < 500 行(15 KB)时可以正常工作。但是一旦我在 JSON 中增加了几个数据块,它就会开始给出异常。
异常基于与 RestTemplate 一起使用的 HttpRequestFactory 实现。
如果我使用 HttpComponentsClientHttpRequestFactory 那么它是 NoHttpResponseException XXX.XXX:443 未能响应 如果我使用 SimpleClientHttpRequestFactory 然后 java.net.SocketException 来自服务器的意外文件结尾

restTemplate.postForEntity(Url, dataBytes, byte[].class);

奇怪的是,这适用于较低版本的 JDK 8、9 和 10。此外,我还尝试了其他 Http 客户端,如带有 JDK11 的 Spring Webclient,并且相同的数据可以使用它。除了相同的数据也适用于 Curl/Postman。
但无法确定为什么它会在超出特定数据限制的情况下使用 RestTemplate 产生问题。
以下是我正在使用的一些主要依赖项(依赖项在现有项目中不会有太大变化)。
Spring-core 5.1.6.RELEASE
org.apache.httpcomponents.httpclient 4.5.6
spring-security-core 5.1.4.RELEASE
spring-security-oauth2-client 5.1.4.RELEASE
JDK11
任何帮助或想法将不胜感激。 TIA

最佳答案

我在以下 JDK11 版本中遇到了同样的问题:

IMPLEMENTOR="AdoptOpenJDK"IMPLEMENTOR_VERSION="AdoptOpenJDK"JAVA_VERSION="11.0.2"


IMPLEMENTOR="AdoptOpenJDK"IMPLEMENTOR_VERSION="AdoptOpenJDK"JAVA_VERSION="11.0.4"


但该问题不再出现在 11.0.9.11 中。我还没有找到修复是什么

关于apache-httpclient-4.x - 带有 JDK11 错误的 Spring RestTemplate 发布超过特定限制的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64597100/

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