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

tomcat 7 JDBC пул за връзка - отделен пул за всяка база данни?

Добре, разрових се и разбрах това сам. (Благодаря за многото любезни хора в пощенския списък на tomcat-users!)

JB Nizet е прав:ако създавате пулове за свързване на база данни Tomcat от Java код, всеки DataSource, който инстанциирате, буквално е/представлява отделен пул за свързване. Това беше изненадващо за мен; идвайки от .NET фон, предположих, че групирането на връзки на Tomcat ще работи като групирането на връзки на SqlServer/ADO.NET:ако използвате два идентични низа за свързване, за да получите две връзки към база данни, и двете ще идват от един и същ пул за връзки. Въпреки това, в Tomcat, когато инстанциирате DataSource обекти от Java код, всеки нов екземпляр на DataSource е изцяло нов пул за свързване. Така че, ако искате да запазите тези пулове за свързване през JAX-RS извиквания на уеб услуга, например, трябва да изградите свой собствен кеш на пул от бази данни (DataSource), да поставите екземплярите на DataSource (по един на база данни) в него и да го съхраните в обект, който JAX-RS ще продължи през извикванията на уеб услуга. Току-що направих това и работи добре.

Между другото, обединяването на връзката към базата данни на Tomcat предлага функционалност, подобна на обединяването на връзки на SqlServer/ADO.NET, просто трябва да използвате JNDI ресурси, за да създадете вашите екземпляри на DataSource. (В моя случай това не е опция, тъй като базите данни се създават динамично в моето приложение и JNDI дефинициите обикновено се създават от конфигурационни файлове, които Tomcat чете при стартиране.)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. regexp_split_to_table и row_number

  2. Актуализиране на времевата марка, когато редът се актуализира в PostgreSQL

  3. За какво се използва конструктор на ред?

  4. запис на таблица в база данни с dplyr

  5. Функцията Postgresql не връща таблица при избор