带有JDK11错误的Spring RestTemplate发布的数据超过特定限制



我将OAuth2RestTemplate与JDK11一起使用Json数据(860行,26 KB(发出POST请求。奇怪的是,代码与<700 Json行(或20KB(,并且<本地机器上的500行(15 KB(。但当我在JSON中增加更多的数据块时,它就开始出现异常。异常基于与RestTemplate一起使用的HttpRequestFactory实现。如果我使用HttpComponentsClientHttpRequestFactory,则为NoHttpResponseException XXX:443无法响应;如果我使用SimpleClientHttpRequestFactory,则java.net.SocketException来自服务器的文件意外结束

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

奇怪的是,JDK 8、9和10的较低版本也能使用这种方法。我也用JDK11尝试过其他Http客户端,比如SpringWebclient,同样的数据也能用它。除此之外,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="采用OpenJDK"IMPLEMENTOR_VERSION=";采用OpenJDK"JAVA_ VERSION=";11.0.2〃;

IMPLEMENTOR="采用OpenJDK"IMPLEMENTOR_VERSION=";采用OpenJDK"JAVA_ VERSION=";11.0.4〃;

但该问题在11.0.9.11中不再出现。我还没有找到的修复方法

最新更新