sql >> Database teknologi >  >> RDS >> Mysql

JDBC ERROR:08S01 sker nogle gange

Du er højst sandsynligt enten

  1. Åbning af stikkontakter og ikke lukning af dem. Over tid bliver antallet af åbne sockets for stort, og applikationen går ned.
  2. Du åbner alt for mange stik på samme tid. Måske fordi du har et væld af tråde.

Jeg vil gætte på, at det er #1. Dobbelttjek din kode, og sørg for, at du lukker alle dine Connection-objekter og ResultSet-objekter.

Hvis du løber ind i #2, vil du måske overveje at bruge færre tråde (efter et vist tidspunkt gør for mange tråde mere skade end gavn) eller bruge en forbindelsespool som c3p0 som kun vil oprette et bestemt antal forbindelser og tillade dine tråde at dele dem. Brug af c3p0 er generelt en god idé og bør også give dig mulighed for at opdage #1 hurtigere.

En tredje mulighed er at bruge en abstraktion på højere niveau, såsom JPA eller JDO, som vil tage sig af forbindelsesstyring for dig.



  1. Hvordan kan jeg vælge rækker i omvendt rækkefølge i MySQL?

  2. Hvorfor er IS NOT NULL falsk, når du tjekker en rækketype?

  3. Sådan laver du innodb som standardmotor

  4. Brug af TUPLES til at sætte mere end 1000 indgange i SQL IN-sætning