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

JDBC ERROR:08S01 se někdy stává

S největší pravděpodobností jste buď

  1. Otevírání a nezavírání zásuvek. Postupem času se počet otevřených soketů příliš zvětší a aplikace se zhroutí.
  2. Otevíráte příliš mnoho zásuvek současně. Možná proto, že máte spoustu vláken.

Hádám, že je to číslo 1. Znovu zkontrolujte kód a ujistěte se, že jste zavřeli všechny objekty Connection a ResultSet.

Pokud narážíte na číslo 2, možná budete chtít zvážit použití menšího počtu vláken (od určitého okamžiku příliš mnoho vláken nadělá více škody než užitku) nebo použití fondu připojení jako c3p0 který vytvoří pouze stanovený počet připojení a umožní vašim vláknům je sdílet. Použití c3p0 je obecně dobrý nápad a mělo by vám také umožnit rychleji detekovat #1.

Třetí možností je použití abstrakce vyšší úrovně, jako je JPA nebo JDO, která se o správu připojení postará za vás.



  1. Uložená procedura s Alembic:Chyba syntaxe MySQL

  2. Rozdělte data do 3 sloupců

  3. Přečtěte si obrovské textové soubory a uložte každý řádek do databáze

  4. MySQL Vyberte pouze nadbytečné řádky a vynechejte původní řádky