sql >> Base de Datos >  >> RDS >> Mysql

ERROR JDBC:08S01 a veces sucede

Lo más probable es que

  1. Abrir enchufes y no cerrarlos. Con el tiempo, la cantidad de sockets abiertos aumenta demasiado y la aplicación falla.
  2. Estás abriendo demasiados sockets al mismo tiempo. Tal vez porque tienes un montón de hilos.

Voy a adivinar que es el número 1. Vuelva a verificar su código y asegúrese de cerrar todos sus objetos Connection y ResultSet.

Si se encuentra con el n. ° 2, entonces puede considerar usar menos subprocesos (después de cierto punto, tener demasiados subprocesos hace más daño que bien) o usar un grupo de conexiones como c3p0 que solo creará un número determinado de conexiones y permitirá que sus hilos las compartan. Usar c3p0 es una buena idea en general y también debería permitirle detectar #1 más rápido.

Una tercera opción es utilizar una abstracción de mayor nivel, como JPA o JDO, que se encargará de la gestión de la conexión por usted.