无法读取HTTP消息:ion:JSON解析错误:VALUE_STRING中意外的输入结束:套接字上意外的EOF读取

时间:2019-06-26 09:41:13

标签: rest spring-boot

当客户端将图像发送到其余端点之一时,仅接收到部分数据。

为了确定发生了什么,我使用Wireshark进行了跟踪并进行了分析。该应用程序确实没有收到消息的最后部分。这是因为应用程序无法在客户端指定的900ms超时内接收所有数据。接收过程中,缓冲区已满。

  

我收到应用警告   org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver   [http-nio-0.0.0.0-9999-exec-35]无法读取HTTP消息:   org.springframework.http.converter.HttpMessageNotReadableException:   读取输入消息时发生I / O错误;嵌套异常为   java.io.EOFException:在套接字上读取了意外的EOF

客户端将获得连接超时。

1 个答案:

答案 0 :(得分:0)

我已经解决了我的问题。我在应用程序中增加了套接字缓冲区的大小。我已经在我的Application类中添加了以下代码。

@Bean     公共EmbeddedServletContainerFactory EmbeddedServletContainerFactory(){         TomcatEmbeddedServletContainerFactory tomcatEmbeddedServletContainerFactory = new TomcatEmbeddedServletContainerFactory();         tomcatEmbeddedServletContainerFactory.setProtocol(“ org.apache.coyote.http11.Http11Nio2Protocol”);         tomcatEmbeddedServletContainerFactory.addConnectorCustomizers((TomcatConnectorCustomizer)连接器-> {             connector.setProperty(“ socket.rxBufSize”,“ 5000000”);         });         返回tomcatEmbeddedServletContainerFactory;     }