MySQL JDBC драйверът има функция за автоматично повторно свързване, която може да бъде полезна понякога; вижте "драйвер/източник на данни Имена на класове, синтаксис на URL и конфигурационни свойства за Connector/J ", и прочетете предупрежденията.
Втора опция е да използвате JDBC пул за връзки.
Трета опция е да изпълните заявка, за да проверите дали връзката ви е все още жива в началото на всяка транзакция. Ако връзката не е жива, затворете я и отворете нова връзка. Често срещана заявка е SELECT 1
. Вижте също:
Едно просто решение е да промените конфигурационните свойства на MySQL, за да зададете времето за изчакване на сесията на наистина голямо число. Въпреки това:
- Това не помага, ако приложението ви може да не работи много дълго време.
- Ако вашето приложение (или някое друго приложение) пропуска връзки, увеличаването на времето за изчакване може да означава, че изгубените връзки остават отворени за неопределено време... което не е добре за използване на паметта на базата данни.