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

Zombie připojení k MySQL pomocí c3p0 s tomcat

Existuje několik možností.

Nejpravděpodobnější je, že jste tento prvek zdroje umístili do $CATALINA_BASE/conf/context.xml Tento soubor poskytuje výchozí kontext.xml pro každou webovou aplikaci. Pokud tedy máte šest webových aplikací, budete mít šest fondů připojení. Protože minimální velikost dotazování je 200, bude otevřeno minimálně 200*6=1200 připojení k databázi.

Další možností je, že webová aplikace byla znovu načtena. Měli byste získat nový fond připojení a ten starý bude GC'd. Pokud však při opětovném načtení dojde k úniku paměti (je to velmi snadné, aniž byste si to uvědomili), může to udržet fond připojení spolu s jeho otevřenými připojeními v paměti, čímž se zvýší celkový počet připojení.

Chcete-li vložit definice do server.xml :

<Server>
  <GlobalNamingResources>
     <Resource name="jdbc/xxxx">...</Resource>
  </GlobalNamingResources>
</Server>

a to v context.xml :

  <ResourceLink name="jdbc/xxxx"
      global="jdbc/xxxx"
      type="com.mchange.v2.c3p0.ComboPooledDataSource" />



  1. CONVERT() v SQL Server

  2. MySQL - Nejjednodušším způsobem vyberte poslední vložený řádek

  3. Záznam android/php se nevkládá do mysql

  4. PL/SQL - Příklad zvýšení chyby aplikace