Я пытаюсь использовать подготовленные операторы, которые воздействуют на базу данных, расположенную вполне далеко, существует значительная задержка, и ненадежность, вовлеченная в сетевое соединение раньше, получала доступ к этой базе данных. Времена простоя до минуты распространены. Проблема состоит в том, что в случае такого отказа, если моя программа пытается выполнить какой-либо подготовленный оператор, целый поток входит в бесконечное ожидание. Это никогда не испытывает таймаут и просто остается застрявшим, ожидая ответа от базы данных.
Я пытался использовать метод setQueryTimeout () для явного помещения тайм-аута на выполнение, но, кажусь, что существует некоторая проблема с этим методом, где это наклоняет работу правильно, если сеть перестала работать.
Есть ли какой-либо альтернативный путь вокруг этого?