Quel est le problème? Impossible de se connecter à la base de données?
org.Apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (
Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.)
Ceci est la réelle cause du problème:
Causé par: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Échec de la liaison de communication
Vous avez un problème de lien de communication avec la base de données. Assurez-vous que votre application dispose d'un accès réseau à votre base de données (et que le pare-feu ne bloque pas les ports de votre base de données).
C'est un problème de réseau. Vérifiez votre connectivité de base de données. Le lien de connexion à votre base de données, votre nom d'utilisateur et votre mot de passe sont incorrects ou votre serveur de base de données est arrêté.
J'ai eu le même problème avec localhost
dans l'URL source . J'ai résolu avec 127.0.0.1
au lieu de localhost
.
Ici, il a été causé par un antivirus avast. Vous pouvez désactiver le pare-feu avast et laisser uniquement le pare-feu Windows actif.
Je rencontre le même problème lorsque je configure Tomcat et le serveur mysql sur VirtualBox VM à l'aide de chef.
dans ce cas, je pense que le vrai problème est que VirtualBox semble assigner une adresse non-localhost à eth0 comme
[vagrant@localhost webapps]$ /sbin/ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:60:FC:47
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
puis fonction de détection automatique de la recette du chef utilisant 10.0.2.15 comme adresse de liaison du serveur mysql.
alors spécifiez l'adresse de liaison pour les paramètres de nœud de la recette du chef résolvent le problème dans mon cas. J'espère que cette information aidera les gens qui utilisent chef avec vagabond.
{
"name" : "db",
"default_attributes" : {
"mysql" : {
"bind_address" : "localhost"
...
}
Cela est dû au fait que le pare-feu bloque la connexion à la base de données.
Désactivez le pare-feu, puis essayez à nouveau d'exécuter le programme. Cela a fonctionné pour moi ...: D
Accédez au fichier my.ini
dans le chemin ci-dessous dans Windows C:\ProgramData\MySQL\MySQL Server 8.0\my.ini
et commenter la ligne ci-dessous
#bind-address=127.0.0.1
Puis redémarrez le serveur MySQL et connectez-vous.
Vous pourrez alors vous connecter à MySQL à partir d’une autre adresse IP/machine.
J'ai changé la version du pilote dans pom.xml et m'a aidé
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.2</version>
</dependency>
Dans mon cas, la solution consistait à supprimer l'attribut
validationQuery="select 1"
de la balise de ressource (Derby DB).
Ce problème spécifique peut également survenir dans localhost. Nous ne pouvons pas exclure que cela soit dû à un problème de réseau ou de connectivité Internet. Ce problème viendra même si toutes les propriétés de connexion à la base de données sont correctes.
J'ai fait face au même problème quand j'ai utilisé le nom d'hôte. Utilisez plutôt l'adresse IP. Ça va être résolu.