La es es la siguiente, si utilizamos un pool de conexiones es necesario implementar el metodo de que se cierra cada conexion a la base de datos o se encarga el pool o c3po de realizar esa operación?
La es es la siguiente, si utilizamos un pool de conexiones es necesario implementar el metodo de que se cierra cada conexion a la base de datos o se encarga el pool o c3po de realizar esa operación?
Hola Ricardo ¿cómo estas?
Gracias por compartir tu duda aquí en el foro.
Es importante enfatizar que la razón por la cual debes cerrar la conexión a la base de datos es porque si mantienes abierta una conexión de base de datos consume recursos en la base de datos, memoria y las bases de datos están configuradas para tener un número máximo de conexiones, por lo que aumenta la probabilidad de quedarse sin conexiones.
Por esta razón principalmente El cliente obtiene conexiones, las usa y luego debe liberarlas cuando termina, lo cual es lo recomendable.
¿Que sucede si olvidas cerrar la conexión? en este caso, el Garbage Collector (recolector de basura) de java cerrará la conexión cuando limpie los objetos obsoletos.
Espero haberte podido ayudar!
Saludos compañero, interesante pregunta. En realidad, el pool de conexiones gestiona automáticamente las conexiones, no es necesario preocuparse de cerrar conexiones. Incluso el objetivo de esta tecnología es reutilizar conexiones desocupadas para entregarla a otros nuevos objetos y evitar el alto costo de recursos en la creación y cierre de conexiones en una aplicación que requiere alta cantidad de concurrencia de usuarios.
Puedes ver más información aquí: https://medium.com/el-acordeon-del-programador/pooling-de-conexiones-a-base-de-datos-con-c3p0-y-java-924fa627d402
Hola buenas noches, gracias a ambos por tomarse el tiempo de responder, ya me ha quedado mas claro el tema. Saludos!!! Quiero aclarar que ambas respuestas aportaron la solución a mi duda.