2011-04-12 13 views
70

¿Qué biblioteca de grupo de conexiones JDBC debo usar para un nuevo proyecto de aplicación (no aplicación web)?Elección de la biblioteca de grupo de conexiones Java JDBC en 2011/2012?

  • Apache DBCP tiene enough unresolved issues que están presionados hasta 2,0, creo.
  • C3P0 Parece que el desarrollo se ha detenido.
  • Y los dos looks relatively slow.
  • Proxool está muerto.
  • DBPool no tiene casi ninguna comunidad (al menos no he encontrado una pública - no hay foros, no hay listas de correo ...)
  • Apache Tomcat Pool parece ser inutilizable sin Tomcat
  • que he encontrado SQL Datasources artículo en Oracle sitio web, pero parece que se puede aplicar solo a los applets que se ejecutan en contenedores como servlets y servicios web.

Debo elegir BoneCP puede ser? No tengo grandes requisitos. Solo necesito un grupo de conexión de base de datos bueno y fácil de usar, que esté en desarrollo activo. Biblioteca, cuyo autor puede responder a los informes de errores, responda alguna pregunta específica, etc.

Por cierto, en realidad, estoy usando MySQL solamente. Encontré esa interfaz supports DriverManager del controlador MySQL, pero no estoy seguro de si realmente agrupa las conexiones o no.

+7

¿Por qué "* Apache Tomcat Pool parece inutilizable sin Tomcat *"? Puede descargarlo como un módulo separado. Y por lo que yo entendí, está destinado a ser utilizado fuera de Tomcat también. –

+1

c3p0 ha resucitado, y es bastante activo atm (https://github.com/swaldman/c3p0) –

+2

El conjunto de conexiones de Tomcat es definitivamente utilizable fuera de Tomcat. –

Respuesta

42

Has hecho una buena investigación. Yo diría, adelante con BoneCP. Hace algunos años hubiera sugerido c3p0, pero actualmente también tiene some open and unresolved issues. Demasiado malo, en realidad. El autor de BoneCP también está activo here en SO.

+2

las cosas han cambiado mucho desde hace 2 años cuando publicó por primera vez esta respuesta, ahora creo que ninguna de las bibliotecas de CP está en desarrollo activo, ¿podría usted? por favor agregue una actualización para compartir el escenario actual, si es posible? ¿Qué elegirías hoy? –

+0

En este momento no puedo recomendar la versión actual de BoneCP (0.8). Lo he estado ejecutando en producción durante un par de días y es [inaceptablemente] (https://bugs.launchpad.net/bonecp/+bug/1243551) [buggy.] (Https: //bugs.launchpad .net/bonecp/+ bug/1259257) Usaría HikariCP si Java 7 fuera una opción para mí. –

+0

@Matt: ¡Gracias por tu comentario! La opción no sería 2013-2014 de hecho ser diferente. – BalusC

14

Es posible usar Tomcat Connection Pool sin Tomcat, solo son un par de .jar que puede incluir en cualquier software. He utilizado con éxito Tomcat Connection Pool con los servidores de aplicaciones Resin y Jetty.

+3

Sí, esto parece ser correcto: http://ci.apache.org/projects/tomcat/tomcat7/docs /jdbc-pool.html#Standalone –

10

Otra alternativa es Vibur DBCP. Esta es una nueva agrupación de conexiones JDBC concurrente basada en proxies dinámicos Java. Es rápido, tiene un código fuente conciso, admite el parámetro de equidad, caché JDBC Statement, larga ejecución de consultas SQL y muchas otras funciones.

Vibur DBCP está disponible en el repositorio central de Maven, el sitio web muestra la dependencia necesaria de Maven, varios ejemplos de configuración (con Spring, Hibernate 3.x/4.x/5.x) y todas las opciones de configuración.

Vibur DBCP requiere Java 1.7.

Descargo de responsabilidad: soy el autor de Vibur DBCP.

7

Sé que es demasiado tarde para responder, pero acabo de encontrar un interesante link que ha dado un alcance más amplio para responder a la mayoría de sus consultas. Pero al final HikariCP y BoneCP son mucho mejores que otras opciones.

+2

Por cierto, nunca es demasiado tarde para una buena respuesta;) –

+0

@FractalizeR si es una buena respuesta que debería tener una gran respuesta en términos de votos: de todos modos me pareció genial para usar en el futuro así que lo compartí. –

Cuestiones relacionadas