2013-04-02 5 views
14

Verwendet Hibernate Verbindungspool standardmäßig? Wenn ja, wie lautet der Standardwert für * connection.pool_size *? Widerspricht es nicht mit * hibernate.connection.release_mode *? Ist nicht die ganze Idee von Verbindungspooling nicht das Schließen von Verbindungen?Ruhezustand Standardverbindung Pooling

Antwort

5

By default, Hibernate Schiffe mit der Fähigkeit, indem Sie die Eigenschaften in geeigneter Weise eine Datenquelle Implementierung (javax.sql.DataSource) von JNDI zu erhalten:

Der Standard JNDI Connection Pool maxsize ist - keine maximale Größe

Hier finden Sie die Standardwerte des JNDI-Pools.

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

Um eine effiziente Leistung erhalten Sie ein third party pool für die beste Leistung und Stabilität verwendet werden soll.

Wenn Sie einen Anwendungsserver verwenden, möchten Sie möglicherweise den integrierten Pool verwenden (normalerweise wird eine Verbindung mit JNDI erstellt). Wenn Sie nicht können oder wollen nicht Ihre Anwendungsservers eingebauten Anschluss Pool nutzen, unterstützt Hibernate mehrere andere Verbindungspools wie

  • c3p0

  • Apache DBCP

  • Proxool

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

+0

Das weiß ich, meine Frage ist, was ist das Standardverhalten? Konfigurieren Sie nichts in Bezug auf das Verbindungspooling. – AdiB

+0

Siehe meine aktualisierte Antwort. –

+0

Dies beantwortet die Frage nicht. –

8

Der Standard-Hibernate-Verbindungspool (der in der Produktion nicht verwendet werden soll) ist standardmäßig auf 1 festgelegt, da er nur für einfache Tests verwendet werden soll. Dies ist jedoch über die Datei hibernate.properties konfigurierbar. Überprüfen Sie daher, ob es dort in Ihrem Projekt definiert ist.

Das Anwesen in Frage ist:

hibernate.connection.pool_size

Informationen hierzu weitgehend in diesem Link enthalten ist:

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

Dies ist zwar nicht direkt die angeben, nicht Wenn Sie die Standardgröße für den Verbindungspool verwenden, werden die meisten Informationen zum Thema Verbindungspooling im Ruhezustand angezeigt.

+1

Könnten Sie bitte die Quelle der Standardgröße von hibernate.connection.pool_size = 1 freigeben, wie Sie oben im Link gesagt haben. – Max