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

Как да принудим повторното използване на връзки в jdbc пул?

Всъщност не използвате пул за връзки. A ConnectionPoolDataSource не е предназначен за директно използване. Той е предназначен като (специален) DataSource за PooledConnection обекти, които след това се съхраняват в пул за връзки от (нормален) DataSource реализация, която осигурява обединяване на връзки.

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

Когато има Connection се изисква от пула за връзки, той ще провери съществуваща PooledConnection (или поискайте нов от неговия ConnectionPoolDataSource ), извличане на Connection и го върнете на потребителя. Когато потребителят затвори Connection , PooledConnection ще сигнализира на пула за връзки, че е наличен отново.

В този случай създавате PooledConnection , извличане на Connection от него и след това изхвърляне на PooledConnection . Това означава, че PooledConnection се изоставя и физическата му връзка с базата данни не може да бъде използвана повторно и ще бъде затворена/изхвърлена, когато най-накрая бъде събрана за боклук (обикновено когато пулът за връзки иска да затвори физическата връзка, той ще извика close() на PooledConnection ).

Трябва или да използвате пул за връзки, както е предоставен от вашия сървър на приложения, или да използвате пул за връзки с общо предназначение като DBCP, c3p0 или BoneCP.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP &MySQL:Преобразуване на съхранения TIMESTAMP в локална часова зона на потребителя

  2. Наличие както на колона за време, създадена и последно актуализирана в MySQL 4.0

  3. Как да редактирате MySQL файла my.cnf

  4. Spring Mvc Hibernate Encoding/Multi-line import sql

  5. Курсор за цикъл за съхранявана процедура MySql - Синтактична грешка