Il y a CommunicationsException :Échec de la liaison de communication.
Si vous obtenez une SQLException :Connexion refusée ou Connexion expirée ou spécifique à MySQL
CommunicationsException: Communications link failure
cela signifie que la base de données n'est pas du tout accessible. Cela peut avoir une ou plusieurs des causes suivantes :
- L'adresse IP ou le nom d'hôte dans l'URL JDBC est incorrect.
- Le nom d'hôte dans l'URL JDBC n'est pas reconnu par le serveur DNS local.
- Le numéro de port est manquant ou erroné dans l'URL JDBC.
- Le serveur de base de données est en panne.
- Le serveur de base de données n'accepte pas les connexions TCP/IP.
- Le serveur de base de données n'a plus de connexions.
- Quelque chose entre Java et DB bloque les connexions, par ex. un pare-feu ou un proxy.
Pour résoudre l'un ou l'autre, suivez les conseils suivants :
- Vérifiez et testez-les avec ping.
- Actualisez le DNS ou utilisez plutôt l'adresse IP dans l'URL JDBC.
- Vérifiez-le en fonction de my.cnf de la base de données MySQL.
- Démarrez la base de données.
- Vérifiez si mysqld est démarré sans l'option --skip-networking.
- Redémarrez la base de données et corrigez votre code en conséquence pour qu'il ferme enfin les connexions.
- Désactivez le pare-feu et/ou configurez le pare-feu/proxy pour autoriser/transférer le port.
Source :Plus de détails