¿Cuál es el grupo de conexiones y por qué el predeterminado es inadecuado para la producción? ¿Puede alguien dar más detalles sobre esto?
La agrupación de conexiones es una técnica para abrir/preparar/cerrar conexiones. Un mecanismo de agrupación de conexiones es una pieza de software (componente) a la que delega la función de gestión de conexiones. Su aplicación solo pedirá una conexión, la usará y la devolverá al grupo. El componente es responsable de abrir N conexiones y dejarlas listas para cuando su aplicación lo solicite. Si una conexión está obsoleta, el mecanismo de agrupamiento la cerraría y reabriría una nueva. Esto representa un mejor uso de las conexiones, ya que no necesita esperar a que se establezca la conexión durante la ejecución real de su código y no tiene que preocuparse por las conexiones obsoletas.
Hibernate realmente no envía ningún mecanismo de agrupamiento de conexión real. Proporciona un administrador de conexión interno, que es muy rudimentario. La razón es simple: casi (si no todos) los Servidores de aplicaciones (como JBoss AS) y los Contenedores de servlets (como Tomcat) proporcionan un mecanismo de agrupación de conexiones por defecto. Por lo tanto, su aplicación no tiene que preocuparse por los detalles al respecto. Simplemente le pide al AS una conexión.
En mi opinión, sólo hay dos casos en los que usted necesita preocuparse acerca de agrupación de conexiones:
- Que se trata de una aplicación independiente (que no se ejecuta dentro de un contenedor)
- Estás realmente experto en la agrupación de conexiones y ninguno de los existentes se adapta a sus necesidades.
Pero en mi experiencia, la mayoría de la gente que utiliza una agrupación de conexiones "externo" lo hacen por falta de conocimiento acerca de la agrupación de conexiones y la falta de conocimiento acerca de su contenedor.
@ jpkrohling, Excelente explicación :-) –