Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Problema de tempo limite de conexão de fonte de dados básica (usando mysql)


Coisas que você pode tentar:

  1. setMaxWait(-1) no BasicDataSource. Isso diz para esperar indefinidamente por uma conexão.

  2. Verifique se o wait_timeout em seu servidor MySQL está configurado para o padrão 8h.

  3. Definir ?autoReconnect=true em seu URL JDBC

  4. setTestOnBorrow(true) no BasicDataSource. Isso impedirá que ele distribua conexões obsoletas, mas adicionará sobrecarga ao seu aplicativo (embora, se você já tiver consultas únicas tão longas, provavelmente nem notará essa parte).

Em geral, acho uma má ideia continuar reutilizando uma conexão. Para mim, o ponto de ter uma piscina é que eu não tenho que fazer isso.

Suas consultas são transacionais? Alguma consulta muito longa está bloqueando uma tabela principal?