Я использую Spring boot с сервером tomcat и javax.ws.rs.client.Client Как клиент.
@PostMapping(value = "/go", consumes = MediaType.APPLICATION_JSON, produces = MediaType.APPLICATION_JSON)
@ResponseBody
public String go(@RequestBody CustomObj obj) throws InterruptedException {
System.out.println(Thread.currentThread().getName());
Thread.sleep(12000000);
}
Проблема, которую мы видели, заключается в том, что через 5-6 минут другой поток начинаю запускать этот метод. Кроме того, мы получили java.net.SocketException: Connection reset
через ~ 10 минут, наблюдая, что первая треть завершена, а вторая треть все еще работает. Еще через несколько минут второй поток также завершается, но это не то поведение, которое мы ожидаем.
Ожидается: 1. Нет исключения сокета 2. ТОЛЬКО 1 поток, выполняющий эту конечную точку после вызова ее клиентом только один раз. Также отображается 1 запрос к серверу в google chrome inspect element (вкладка network).