web-dev-qa-db-ja.com

休止状態のデフォルト接続プール

Hibernateはデフォルトで接続プールを使用しますか?その場合、* connection.pool_size *のデフォルト値は何ですか? * hibernate.connection.release_mode *と競合しませんか?接続プーリングのすべてのアイデアが接続を閉じているわけではありませんか?

16
Adi Baron

デフォルトのhibernate接続プール(本番環境では使用しないでください)のデフォルトの制限は1です。これは、単純なテストに使用することのみを目的としているためです。ただし、これはhibernate.propertiesファイルを使用して構成できるため、プロジェクトで定義されているかどうかを確認することをお勧めします。

問題のプロパティは次のとおりです。

hibernate.connection.pool_size

これに関する情報は主にこのリンクに含まれています:

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

これはデフォルトの接続プールサイズを直接指定しませんが、Hibernateの接続プーリングに関して必要な情報のほとんどを持っています。

9
Jordan Robinson

デフォルト 、Hibernateには、プロパティを適切に設定することにより、JNDIからデータソース実装(javax.sql.DataSource)を取得する機能が付属しています。

デフォルトのJNDI接続プールのmaxsizeは-最大サイズなし

ここにJNDIプールのデフォルト値があります。

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

効率的なパフォーマンスを得るには、third party pool最高のパフォーマンスと安定性。

アプリケーションサーバーを使用している場合は、組み込みプールを使用できます(通常、JNDIを使用して接続を取得しています)。アプリケーションサーバーの組み込み接続プールを使用できない、または使用したくない場合、Hibernateは次のような他のいくつかの接続プールをサポートしています。

  • c3p0

  • Apache DBCP

  • Proxool

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

6
Suresh Atta

接続プールのHibernateのデフォルト値に関するドキュメントが見つからなかったため、ソースコードを調べて(hibernate-core-4.3.8.FinalのクラスDriverManagerConnectionProviderImpl)を見つけました。

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