SocketException: сброс соединения при выполнении запроса POST - PullRequest
0 голосов
/ 03 мая 2019

Я запускаю POST-запрос к конечной точке. Я использую Spring restTemplate.

Очень редко (1 из 100) я получаю SocketException, но хочу этого избежать.

final HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
HttpEntity<String> entity;
entity = new HttpEntity<>(inputPayload[0], headers);
final RestTemplate restTemplate = new RestTemplate();
  return retryTemplate.execute(new RetryCallback<String, Exception> 
                       () {
       @Override
       public String doWithRetry(RetryContext context) throws 
       Exception {
         return restTemplate.exchange(url, httpMethod, entity, 
         String.class).getBody();
     }
});

Трассировка стека исключений:

 Caused by: org.springframework.web.client.ResourceAccessException: 
 I/O error on POST request for "": Connection reset; nested 
 exception is java.net.SocketException: Connection reset
 at 
 Caused by: java.net.SocketException: Connection reset
 at java.net.SocketInputStream.read(SocketInputStream.java:210)
 at java.net.SocketInputStream.read(SocketInputStream.java:141)
 at sun.security.ssl.InputRecord.readFully(InputRecord.java:465)
 at sun.security.ssl.InputRecord.read(InputRecord.java:503)

Похоже, что это на моей (клиентской) стороне, я все еще читаю из SocketInputStream после закрытия соединения? Как я могу это исправить полностью?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...