Сбой канала связи JDBC через некоторое время

Я использую JDBC с пулом соединений proxool для подключения к базе данных mysql. Я выбираю большое количество строк из нескольких потоков, и через некоторое время я получаю сообщение об ошибке, говорящее о сбое канала связи. Последний пакет, отправленный на сервер, был ... назад. Я закрываю соединение, заявление, набор результатов в каждом потоке. Время выборки постепенно увеличивается, и исключение происходит через 5-10 минут. Я сомневаюсь, что это утечка памяти, но не могу найти никакой подсказки.

Пожалуйста, сообщите мне о возможных причинах.

Спасибо, Кака


person KaKa    schedule 28.07.2010    source источник


Ответы (1)


это может быть связано с тайм-аутом подключения, попробуйте увеличить его.

con.setConnectionTimeout(X);
person mhshams    schedule 28.07.2010
comment
Спасибо за быстрый ответ. Но время соединения не истекает. Время, затрачиваемое оператором select на выборку почти такого же количества данных, постепенно увеличивается. Он начинается с 30 секунд и через 5 минут пересекает 100 секунд, поэтому это должно быть что-то, связанное с утечкой памяти или заполненными буферами и т. д. Но не могу понять это. Есть ли такой прошлый опыт? Спасибо, Кака - person KaKa; 28.07.2010
comment
Обнаружено, что это утечка памяти из-за фьючерсов службы Executor. Ничего не связано с БД - person KaKa; 02.08.2010