As everyone Hibernate provide these Connection pools and Hibernate comes with c3p0 connection pool. Now if we are talking about performance which connection pooling will be good with hibernate? We can use any connection pool but connection pool is necessary for every production use.
1 Answers
Hibernate would not include c3p0
if it is not worth for production. Hibernate itself says:
Hibernate's own connection pooling algorithm is, however, quite rudimentary. It is intended to help you get started and is not intended for use in a production system, or even for performance testing. You should use a third party pool for best performance and stability. Just replace the hibernate.connection.pool_size property with connection pool specific settings. This will turn off Hibernate's internal pool. For example, you might like to use c3p0. C3P0 is an open source JDBC connection pool distributed along with Hibernate in the lib directory. Hibernate will use its org.hibernate.connection.C3P0ConnectionProvider for connection pooling if you set hibernate.c3p0.* properties. If you would like to use Proxool, refer to the packaged hibernate.properties and the Hibernate web site for more information.
It seems both of them proxol and c3p0 are fine based on hibernate. DBCP is one stop solution for this problem and comes with tomcat itself, we have been using it for a long time in my company for really hight traffic web site and never had problem with it