Mysql
 sql >> Base de données >  >> RDS >> Mysql

La connexion avec MySql est interrompue automatiquement. Comment configurer correctement Connector/J ?

Le texte décrit trois solutions pour empêcher les interruptions de connexion :

  1. Configurez la chaîne de connexion avec autoReconnect=true . Il s'agit d'une propriété de la chaîne de connexion URL, qui fonctionne au niveau du pilote. Vous devez modifier la chaîne de connexion dans la configuration de la source de données.

    url="jdbc:mysql://localhost:3306/confluence?autoReconnect=true"
    
  2. Augmentez le délai d'attente. Il s'agit normalement d'une propriété de la base de données. Vous pouvez augmenter cette valeur pour voir si vous obtenez moins d'abandons de connexion.

  3. Configurez le pool de connexions pour tester la validation de la connexion. Cela se fait au niveau de la piscine, pas au niveau du conducteur. Cela dépendra de l'implémentation de la source de données que vous utilisez. Mais il doit être configurable dans la propriété de la source de données, si vous en utilisez une mise en commun, par ex. c3p0 .

Commentaires supplémentaires :

  • La source de données/le pool peut également avoir un délai d'expiration, qui correspond au temps pendant lequel une connexion inactive reste dans le pool. À ne pas confondre avec le délai d'expiration de la base de données.
  • Il existe plusieurs façons de tester la validité d'une connexion. Une façon courante consiste à avoir une table de test factice. Le pool émettra une sélection sur la table de test factice pour voir si la connexion est toujours correcte.