web-dev-qa-db-fra.com

Java Choix de la bibliothèque de pools de connexions JDBC en 2011/2012?

Quelle bibliothèque de pools de connexions JDBC dois-je utiliser pour un nouveau projet d'application (pas d'application Web)?

  • Apache DBCP a assez de problèmes non résolus qui sont poussés jusqu'à 2.0 je pense.
  • C3P le développement semble être arrêté.
  • Et les deux semble relativement lent .
  • Proxool est mort.
  • DBPool n'a presque pas de communauté (au moins je n'en ai trouvé aucun public - pas de forums, pas de listes de diffusion ...)
  • Apache Tomcat Pool semble inutilisable sans Tomcat
  • J'ai trouvé SQL Datasources article sur le site Web d'Oracle, mais il semble qu'il ne peut être appliqué qu'aux applets s'exécutant dans des conteneurs tels que les servlets et les services Web.

Dois-je choisir BoneCP peut-être? Je n'ai pas d'énormes exigences. J'ai juste besoin d'un pool de connexion de base de données bon et facile à utiliser, qui est en développement actif. Bibliothèque, dont l'auteur peut répondre aux rapports de bogues, répondre à une question spécifique, etc.

BTW, en fait, j'utilise uniquement MySQL. J'ai trouvé que le pilote MySQL prend en charge DriverManager interface, mais je ne sais pas s'il regroupe réellement les connexions ou non.

71

Vous avez fait de bonnes recherches. Je dirais, allez-y avec BoneCP. Il y a quelques années, j'aurais suggéré c3p0, mais il a actuellement certains problèmes ouverts et non résolus également. Dommage, en fait. L'auteur de BoneCP est d'ailleurs également actif ici chez SO.

42
BalusC

Il est possible d'utiliser le Tomcat Connection Pool sans Tomcat, ce ne sont que quelques .jars que vous pouvez inclure dans n'importe quel logiciel. J'ai utilisé avec succès Tomcat Connection Pool avec les serveurs d'applications Resin et Jetty .

14
Juha Syrjälä

Une autre alternative est Vibur DBCP . Il s'agit d'un nouveau pool de connexions JDBC simultanées basé sur Java proxies dynamiques. Il est rapide, possède un code source concis, prend en charge le paramètre d'équité, la mise en cache des instructions JDBC, la journalisation des requêtes SQL de longue durée et bien d'autres Caractéristiques.

Vibur DBCP est disponible dans le référentiel Maven central, le site Web montre la dépendance Maven nécessaire, divers exemples de configuration (avec Spring, Hibernate 3.x/4.x/5.x) et toutes les options de configuration.

Vibur DBCP nécessite Java 1.7.

Avertissement: je suis l'auteur de Vibur DBCP.

10
Simeon Malchev

Je sais qu'il est trop tard pour y répondre, mais je viens de trouver un link intéressant qui a donné une portée plus large pour répondre à la plupart de vos requêtes. Mais à la fin HikariCP et BoneCP sont bien meilleurs que les autres options.

7
Bhargav Modi