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

As conexões não estão disponíveis às vezes no c3p0


Você provavelmente tem um vazamento de conexão. Um tamanho de piscina gigante não vai realmente ajudar com isso. Consulte aqui .

Apêndice:linguagem de limpeza robusta de recursos


É melhor usar experimentar com recursos . Mas se você estiver trabalhando com uma versão mais antiga do Java (pré Java 7) ou com recursos que não implementam AutoCloseable você ainda pode ter que reverter para esse tipo de coisa.
Connection c     = null;
OtherResource or = null;

try
{
   c  = cpds.getConnection();
   or = getOtherResource()

   // do stuff
   // ...
}
finally
{
  try { if (or != null) or.close(); }
  catch (Exception e) { e.printStackTrace(); }

  try { if (c != null) c.close(); }
  catch (Exception e) { e.printStackTrace(); }
}

Observe que a cláusula finally será definitivamente executada se a conexão for adquirida e houver uma melhor tentativa close() de cada recurso:If or falha ao fechar(), essa Exception não impedirá a tentativa de fechar() theConnection.

Você tem que ser muito cuidadoso. Como Keynes disse, há muitos deslizes entre a xícara e o lábio.