Ошибка Read timed out при чтении данных из сокета может возникать по следующим причинам:
Чтобы решить проблему, можно указать время ожидания для метода read() с помощью метода setSoTimeout(). 1 Для этого метод нужно вызвать перед инициацией операции чтения, чтобы таймаут вступил в силу. 1
Также в некоторых случаях ошибка Read timed out может возникать при большом количестве соединений JDBC, например, если использовать драйвер версии раньше 12.1.0.2. 2