sql >> Databáze >  >> RDS >> Mysql

Jak vynutit opětovné použití připojení ve fondu jdbc?

Ve skutečnosti nepoužíváte fond připojení. ConnectionPoolDataSource není určeno k přímému použití. Je určen jako (speciální) DataSource pro PooledConnection objekty, které jsou pak udržovány ve fondu připojení (normálním) DataSource implementace, která poskytuje sdružování připojení.

Normální vývojář by neměl používat ConnectionPoolDataSource přímo, je určen pro použití s ​​fondy připojení poskytovanými aplikačními servery nebo pro obecné použití DataSource s, které poskytovaly sdružování připojení.

Při Connection je požadováno z fondu připojení, provede rezervaci existujícího PooledConnection (nebo si vyžádejte nový z jeho ConnectionPoolDataSource ), načtěte Connection a vrátit to uživateli. Když uživatel zavře Connection , PooledConnection signalizuje fondu připojení, že je opět k dispozici.

V tomto případě vytváříte PooledConnection , načtením Connection z něj a poté zahození PooledConnection . To znamená, že PooledConnection opustí a jeho fyzické připojení k databázi nelze znovu použít a bude uzavřeno/zahozeno, když bude konečně shromážděno odpadky (normálně, když chce fond připojení ukončit fyzické připojení, zavolá close() na PooledConnection ).

Musíte buď použít sdružování připojení, které poskytuje váš aplikační server, nebo použít společný fond připojení, jako je DBCP, c3p0 nebo BoneCP.



  1. PHP mySQL - Můžete vrátit přidružené pole s číselným indexem?

  2. Pochopení funkce PIVOT v T-SQL

  3. MySQL používá názvy sloupců z jiné tabulky

  4. Jak vložit výchozí data do tabulky pomocí souboru import.sql v Hibernate, aplikace MySQL