如何解决Spring SocketException 导致 JSON 解析错误
我有一个 Spring Boot 应用程序,并使用 restTemplate 向其他服务发送 http 请求,问题是时不时(不频繁)我收到此 Json 解析异常。重试会成功。
org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Connection reset;
nested exception is com.fasterxml.jackson.databind.JsonMappingException: Connection reset (through reference chain: Response["data"]->java.util.ArrayList[23])\n
at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:240)\n
at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.read(AbstractJackson2HttpMessageConverter.java:225)\n
at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:96)\n
at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:934)\n
at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:918)\n
这似乎是一个简单的 Json 解析错误,但我注意到在调用堆栈中还有另一个原因
Caused by: java.net.socketException: Connection reset\n
at java.net.socketInputStream.read(SocketInputStream.java:189)\n
at java.net.socketInputStream.read(SocketInputStream.java:121)\n
我的问题是这个 IO 异常会导致 Json 解析错误。 我的猜测是因为 TCP 问题,部分 Json 数据丢失,然后 ObjectMapper 无法正确解析 Json。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。