Mysql
 sql >> база данни >  >> RDS >> Mysql

Връзките понякога не са налични в c3p0

Много вероятно имате изтичане на връзка. Гигантският размер на басейна всъщност няма да помогне с това. Моля, вижте тук .

Приложение:Идиома за надеждно почистване на ресурси

Най-добре е, когато можете да използвате опитайте с ресурси . Но ако работите с по-стара версия на Java (преди Java 7) или с ресурси, които не прилагат AutoCloseable все още може да се наложи да се върнете към този вид неща.

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(); }
}

Обърнете внимание, че клаузата finally определено ще бъде изпълнена, ако връзката е придобита, и има най-добър опит close() за всеки ресурс:Ако or не успее да затвори(), това изключение няма да предотврати опита за затваряне() на връзката.

Трябва да сте много внимателни. Както известният израз на Кейнс има много пропуски между чашата и устната.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Заредете MySQL файл с данни с абсолютен URL

  2. doctrine2 - Как да подобрим ефективността на промиването?

  3. Намерено:бит, очаквано:булев след надграждане на Hibernate 4

  4. ModuleNotFoundError:Няма модул с име „mysite“

  5. Защо това Include не работи?