Há CommunicationsException:falha no link de comunicação.
Se você receber uma SQLException:Conexão recusada ou Conexão expirada ou um MySQL específico
CommunicationsException: Communications link failure
então isso significa que o banco de dados não é alcançável. Isso pode ter uma ou mais das seguintes causas:
- O endereço IP ou nome do host no URL JDBC está incorreto.
- O nome do host no URL JDBC não é reconhecido pelo servidor DNS local.
- O número da porta está ausente ou incorreto no URL JDBC.
- O servidor de banco de dados está inativo.
- O servidor DB não aceita conexões TCP/IP.
- O servidor DB ficou sem conexões.
- Algo entre Java e DB está bloqueando conexões, por exemplo, um firewall ou proxy.
Para resolver um ou outro, siga os seguintes conselhos:
- Verifique e teste-os com ping.
- Atualize o DNS ou use o endereço IP no URL JDBC.
- Verifique com base em my.cnf do banco de dados MySQL.
- Inicie o banco de dados.
- Verifique se o mysqld foi iniciado sem a opção --skip-networking.
- Reinicie o banco de dados e corrija seu código de acordo com o fechamento das conexões.
- Desative o firewall e/ou configure o firewall/proxy para permitir/encaminhar a porta.
Fonte:Mais detalhes