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

Как да управлявам db връзки на сървъра?

Поддържане на Connection отворен завинаги е много лоша идея. Той няма безкраен живот, приложението ви може да се срине всеки път, когато DB изтече връзката и я затвори. Най-добрата практика е да придобиете и затворете Connection , Statement и ResultSet внай-краткото възможен обхват за избягване на течове на ресурси и потенциални сривове на приложения, причинени от течовете и изтичането на времето.

Тъй като свързването на DB е скъпа задача, трябва да помислите за използването на пул за връзки, за да подобрите производителността на свързване. Един приличен сървър на приложения/сервлет контейнер обикновено вече предоставя функция за пул за връзки във вид на JNDI DataSource . Консултирайте се с неговата документация за подробности как да го създадете. В случай на Tomcat например можете да го намерите тук.

Дори когато използвате пул за връзки, все пак трябва да напишете правилен JDBC код:придобиване и затворете всички ресурси във възможно най-кратък обхват. Пулът от връзки на свой ред ще се тревожи за действително затваряне на връзката или просто за освобождаването й обратно в пула за по-нататъшна повторна употреба.

Може да получите още малко прозрения от тази статия как да направите основите на JDBC по правилния начин. Като напълно различна алтернатива, научете EJB и JPA. Той ще абстрахира целия JDBC шаблон за вас в еднолинейни.

Надявам се това да помогне.

Вижте също:

  • Безопасно ли е да се използва статичен екземпляр java.sql.Connection в многонишкова система?
  • Използвам ли JDBC пул за връзки?
  • Как трябва да се свържа с JDBC база данни/източник на данни в приложение, базирано на сървлет?
  • Кога е необходимо или удобно да използвате Spring или EJB3 или всички заедно?


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Автоматично увеличаване на частичен първичен ключ с Entity Framework Core

  2. Как да върна само работно време от резервации в PostgreSql?

  3. Как мога да импортирам данни от ASCII (ISO/IEC 8859-1) в моята база данни Rails/PGSQL?

  4. Използване на INSERT с PostgreSQL база данни с помощта на Python

  5. postgres:надстройване на потребител до суперпотребител?