example bootstrap annotationsessionfactorybean java database spring apache datasource

java - bootstrap - Spring DriverManagerDataSource vs apache BasicDataSource



spring hibernate example (2)

Desde Spring DriverManagerDataSource API:

Esta clase no es un conjunto de conexiones real; En realidad no se agrupan las conexiones. Solo sirve como reemplazo simple para un conjunto de conexiones en toda regla, implementando la misma interfaz estándar, pero creando nuevas conexiones en cada llamada.

En otras palabras, puede estar bien para las pruebas, pero en aplicaciones reales use Apache DBCP

¿Cuál es la diferencia entre Spring DriverManagerDataSource y apache BasicDataSource? ¿Cuál de ellos es preferible y en qué situaciones?

Gracias.


Según la documentación de primavera

Esta clase no es un conjunto de conexiones real; En realidad no se agrupan las conexiones. Solo sirve como reemplazo simple para un conjunto de conexiones en toda regla, implementando la misma interfaz estándar, pero creando nuevas conexiones en cada llamada.

Si necesita un grupo de conexiones "real" fuera de un contenedor J2EE, considere DBCP o C3P0 de Jakarta Commons de Apache. BasicDataSource de Commons DBCP y ComboPooledDataSource de C3P0 son beans de pool de conexión completos, que admiten las mismas propiedades básicas que esta clase más configuraciones específicas (como el tamaño de pool mínimo / máximo, etc.).

Lea también Controlar conexiones de base de datos

Al usar la capa JDBC de Spring, obtiene un origen de datos de JNDI o configura el suyo propio con una implementación de grupo de conexiones proporcionada por un tercero. Las implementaciones populares son Apache Jakarta Commons DBCP y C3P0. Las implementaciones en la distribución Spring están destinadas solo a fines de prueba y no proporcionan agrupación.