Comment configurer le pool de connexions C3P0 dans Hibernate

Comment configurer le pool de connexions C3P0 dans Hibernate

Connection Pool
Le pool de connexions est bon pour les performances, car il empêche l'application Java de créer une connexion à chaque fois qu'elle interagit avec la base de données et minimise le coût d'ouverture et de fermeture des connexions.

Voir l'explication dewiki connection pool

Hibernate est livré avec un pool de connexions internes, mais ne convient pas pour une utilisation en production. Dans ce didacticiel, nous vous montrons comment intégrer un pool de connexions tiers - C3P0, avec Hibernate.

1. Obtenez hibernate-c3p0.jar

Pour intégrer c3p0 à Hibernate, vous avez besoin dehibernate-c3p0.jar, récupérez-le depuis le référentiel JBoss.

Fichier: pom.xml



    
        
            JBoss repository
            http://repository.jboss.org/nexus/content/groups/public/
        
    

    

        
            org.hibernate
            hibernate-core
            3.6.3.Final
        

        
        
            org.hibernate
            hibernate-c3p0
            3.6.3.Final
        

    

2. Configurer l'expertise c3p0

Pour configurer c3p0, placez les détails de configuration c3p0 dans «hibernate.cfg.xml», comme ceci:

Fichier: hibernate.cfg.xml



 
  oracle.jdbc.driver.OracleDriver
  jdbc:oracle:thin:@localhost:1521:MKYONG
  example
  password
  org.hibernate.dialect.Oracle10gDialect
  MKYONG
  true

  5
  20
  300
  50
  3000

  

  1. hibernate.c3p0.min_size – Minimum number of JDBC connections in the pool. Mise en veille prolongée par défaut: 1

  2. hibernate.c3p0.max_size – Maximum number of JDBC connections in the pool. Mise en veille prolongée par défaut: 100

  3. hibernate.c3p0.timeout – When an idle connection is removed from the pool (in second). Mise en veille prolongée par défaut: 0, n'expire jamais.

  4. hibernate.c3p0.max_statements – Number of prepared statements will be cached. Augmenter les performances. Mise en veille prolongée par défaut: 0, la mise en cache est désactivée.

  5. hibernate.c3p0.idle_test_period – idle time in seconds before a connection is automatically validated. Mise en veille prolongée par défaut: 0

Note
Pour plus de détails sur les paramètres de configuration dehibernate-c3p0, veuillez lire l'article dethis.

Exécutez-le, sortie

Terminé, exécutez-le et voyez la sortie suivante:

c3p0 connection pool in hibernate

Pendant le processus d'initialisation de la connexion, 5 connexions à la base de données sont créées dans le pool de connexions, prêt à être réutilisé pour votre application Web.