web-dev-qa-db-fra.com

hibernation du pool de connexions par défaut

Hibernate utilise-t-il le pool de connexions par défaut? Si oui, quelle est la valeur par défaut de * connection.pool_size *? N'est-ce pas en conflit avec * hibernate.connection.release_mode *? N'est-ce pas l'idée de regroupement de connexions n'est pas de fermer les connexions?

16
Adi Baron

Le pool de connexions de mise en veille prolongée par défaut (qui ne doit pas être utilisé en production) a une limite par défaut de 1, car il est destiné à être utilisé uniquement pour des tests simples. Cependant, cela est configurable via le fichier hibernate.properties, il vaut donc la peine de vérifier s'il est défini dans votre projet.

Le bien en question est:

hibernate.connection.pool_size

Les informations à ce sujet sont largement contenues dans ce lien:

http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/session-configuration.html

Bien que cela ne spécifie pas directement la taille du pool de connexions par défaut, il contient la plupart des informations que vous pourriez souhaiter sur le sujet du pool de connexions en veille prolongée.

9
Jordan Robinson

Par défaut , Hibernate est livré avec la possibilité d'obtenir une implémentation de source de données (javax.sql.DataSource) à partir de JNDI en définissant les propriétés de manière appropriée:

La taille maximale du pool de connexions JNDI par défaut est - Aucune taille maximale

Ici vous pouvez trouver les valeurs par défaut du pool JNDI.

http://docs.Oracle.com/javase/jndi/tutorial/ldap/connect/config.html

Pour obtenir des performances efficaces, vous devez utiliser un third party pool pour de meilleures performances et stabilité.

Si vous utilisez un serveur d'applications, vous souhaiterez peut-être utiliser le pool intégré (généralement une connexion est obtenue à l'aide de JNDI). Si vous ne pouvez pas ou ne souhaitez pas utiliser le pool de connexions intégré à votre serveur d'applications, Hibernate prend en charge plusieurs autres pools de connexions tels que

  • c3p0

  • Apache DBCP

  • Proxool

http://www.informit.com/articles/article.aspx?p=353736&seqNum=4

6
Suresh Atta

Je n'ai trouvé aucune documentation sur les valeurs par défaut d'Hibernate pour le pool de connexions, j'ai donc cherché dans le code source et trouvé (classe DriverManagerConnectionProviderImpl dans hibernate-core-4.3.8.Final):

hibernate.connection.initial_pool_size = 1;
hibernate.connection.min_pool_size = 1;
hibernate.connection.pool_size = 20;
hibernate.connection.pool_validation_interval = 30;
hibernate.connection.autocommit = false;
3
Vjncenzo