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

Problème de délai de connexion à la source de données de base (avec mysql)

Choses que vous pouvez essayer :

  1. setMaxWait(-1) sur le BasicDataSource. Cela lui dit d'attendre indéfiniment une connexion.

  2. Vérifiez que le wait_timeout sur votre serveur MySQL est défini sur la valeur par défaut 8h.

  3. Définir ?autoReconnect=true sur votre URL JDBC

  4. setTestOnBorrow(true) sur le BasicDataSource. Cela l'empêchera de distribuer des connexions obsolètes, mais ajoutera une surcharge à votre application (bien que si vous avez déjà de si longues requêtes uniques, vous ne remarquerez probablement même pas cette partie).

En général, je trouve que c'est une mauvaise idée de continuer à réutiliser une connexion. Pour moi, l'intérêt d'avoir une piscine, c'est que je n'ai pas à le faire.

Vos requêtes sont-elles transactionnelles ? Une requête très longue bloque-t-elle une table principale ?