Има изключение на CommunicationsException:повреда на комуникационната връзка.
Ако получите SQLException:връзката е отказана или връзката е изтекла или специфично за MySQL
CommunicationsException: Communications link failure
тогава това означава, че DB изобщо не е достъпен. Това може да има една или повече от следните причини:
- IP адресът или името на хоста в URL адреса на JDBC е грешен.
- Името на хост в JDBC URL не се разпознава от локалния DNS сървър.
- Номерът на порта липсва или е грешен в URL адреса на JDBC.
- DB сървърът не работи.
- DB сървърът не приема TCP/IP връзки.
- Сървърът на DB е изтекъл връзките.
- Нещо между Java и DB блокира връзките, напр. защитна стена или прокси.
За да разрешите едното или другото, следвайте следните съвети:
- Проверете и тествайте ги с ping.
- Опреснете DNS или вместо това използвайте IP адрес в JDBC URL.
- Проверете го въз основа на my.cnf на MySQL DB.
- Стартирайте DB.
- Проверете дали mysqld се стартира без опцията --skip-networking.
- Рестартирайте DB и коригирайте кода си съответно, така че да затваря връзките най-накрая.
- Деактивирайте защитната стена и/или конфигурирайте защитната стена/прокси сървъра, за да разрешите/препратите порта.
Източник:Още подробности