Hola:
Con un pool de conexiones lo que haces es en vez de crear tú mismo la Connection a base de datos, se la pidesl al Pool. Para usarlo correctamente, debes cerrar la Connection después de haber hecho la transacción
Código:
Connection con = pool.getConnection();
// Aquí haces el select, insert, update....
con.close();
Casi te diría que conviene usar un Pool siempre. En principio debe usarse siempre que haya varios hilos que quieran acceder a base de datos y que haya que abrir y cerrar conexiones con cierta frecuencia.
Se bueno.