Aunque no tengo forma de saberlo, me atrevo a suponer que su colega comenzó con cada solicitud obteniendo una nueva conexión propia del administrador, al igual que en los programas de principiante y de demostración. Pronto descubrió que esto ralentizaba las solicitudes dramáticamente; así que ahora está evitando la creación de conexiones al "agruparlas" en sesiones de usuario.
Esto resuelve el problema de rendimiento para los usuarios que hacen una segunda y posteriores solicitudes en una conexión, pero es una solución muy incómoda y no escalable. Si la base de usuarios de su aplicación aumenta, la cantidad de usuarios con sesiones abiertas superará rápidamente la cantidad máxima de conexiones que su BD puede proporcionarle. Y luego hay problemas con el tiempo de espera de las conexiones de las sesiones o de la base de datos ...
La solución "estándar de la industria" es usar la agrupación de conexiones. Las versiones modernas de Tomcat tienen la agrupación de conexiones "integrada", al igual que otros servidores de aplicaciones web. Si no, puede instalar fácilmente el suyo. Esto le permite administrar un conjunto de conexiones completamente independiente de las sesiones de usuario.
Otro beneficio de la agrupación de conexiones es que, una vez que la agrupación se "calienta", es decir,varias conexiones están en uso e inicializadas, incluso las "primeras solicitudes por sesión de usuario" reciben una conexión rápidamente. Por lo tanto, el rendimiento global mejorará con respecto a su situación actual.
Quizás debería explicarnos por qué cree que no debería hacer eso primero. –
@ Thorbjørn Creo que mi reacción inicial fue porque nunca la había visto antes. Pero parece tonto crear 1000 conexiones JDBC para 1000 usuarios ... – jconlin
¿Hay algo especial sobre cada conexión o podrían agruparse fácilmente? –