2013-04-02 165 views
14

Hibernate默認使用連接池嗎?如果是這樣,* connection.pool_size *的默認值是什麼? 它不與* hibernate.connection.release_mode *衝突嗎?連接池的所有想法都不是關閉連接嗎?休眠默認連接池

回答

5

By default,休眠附帶通過適當地設定特性,以獲得從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

+0

這我知道,我的問題是什麼是默認行爲?沒有任何關於連接池的配置。 – AdiB

+0

查看我的更新回答。 –

+0

這不回答這個問題。 –

8

默認的hibernate連接池(不應在生產中使用)的默認限制爲1,因爲它只是用於簡單測試。然而,這可以通過hibernate.properties文件進行配置,因此值得檢查一下,看它是否在你的項目中定義。

這些財產是:

hibernate.connection.pool_size即可

這方面的信息主要是包含在此鏈接:

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

儘管這並不直接指定默認的連接池大小,它在hibernate中的連接池主題上提供了大部分信息。

+1

請您分享hibernate.connection.pool_size = 1的默認大小來源,就像您在上面的鏈接中所說的那樣。 – Max