Su la pregunta es un poco ambigua:
¿Desea homegrow una implementación de grupo de conexión? Si es así, este es un buen punto de partida: http://java.sun.com/developer/onlineTraining/Programming/JDCBook/conpool.htmlPero esto es altamente desaconsejable para entornos de producción. Utilice mejor una API de agrupación de conexiones existente y probada exhaustivamente, como DBCP o C3P0.
¿O desea saber cómo usar un grupo de conexión? Si es así, la respuesta depende de la API de agrupación de conexiones que estés utilizando. Afortunadamente, generalmente está disponible en el sitio web de la API en cuestión.
¿O desea saber cuándo/por qué para utilizar un grupo de conexión? Si es así, seguramente mejorará el rendimiento de conexión si tiene una aplicación de larga duración (por ejemplo, una aplicación web) y necesita conectar la base de datos más a menudo. La práctica normal de JDBC es a saber: adquirir y cerrar el Connection
, Statement
y ResultSet
en el alcance más corto posible (es decir, dentro del mismo bloque de método). Debido a que la conexión es bastante costosa y puede tomar hasta 200 ms de tiempo o incluso más, usar un grupo de conexiones es mucho más rápido. Proporciona conexiones bajo demanda y se ocupa de cerrar la conexión. Sin embargo, eso no significa que usted pueda cambiar la forma en que escribe JDBC, aún necesita adquirirlos y cerrarlos en el ámbito más amplio posible. Lo único que debe cambiar es la forma de adquirir la conexión. P.ej.cambiar de
connection = driverManager.getConnection();
que se necesitan
connection = connectionPool.getConnection();
No más cambios, siempre y cuando su código JDBC está bien escrito.
Desde Sachin preguntó específicamente dónde las agrupaciones pueden abordar el rendimiento, yo agregaría que generalmente solo tienen sentido en una cli aplicación ent-server, donde tiene menos conexiones que usuarios. En particular, no tendrían sentido en una aplicación de cliente grueso donde tiene un usuario que se conecta a una base de datos. –