I found this output when using Hibernate:
328 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Using Hibernate built-in connection pool (not for production use!)
I searched Google, but only found this:
http://docs.jboss.org/hibernate/stable/ ... ejdbc.htmlIt says:
"You should use a third party pool for best performance and stability."
I don't care about performance (I would guess the max load of my server is about 10 requests pr minute, and none of the requests execute more than a few simple SQL queries), but I do care about stability. But WHAT are the stability issues with the built-in pool? I cannot find such documentation. Please help.
To avoid database corruption, i have set connection.isolation to 8 in Hibernate. (=java.sql.Connection.TRANSACTION_SERIALIZABLE). To avoid deadlocks, I use a java.util.concurrent.locks.ReentrantLock around each Hibernate session to do mutual exclusion. I also use a connection pool size of max 1.
I have tried using c3p0 instead of built-in, but that one crashes (= throws an SQLException) for me at GooGooStatementCache line 552 when I interrupt the thread:
http://c3p0.sourcearchive.com/documenta ... ource.htmlI do want to interrupt the thread, but if the interrupt happens in the middle of a database transaction, I want this transaction to complete and then handle the interrupt myself later in the thread.
I have not experienced this kind of crash with the built-in connection pool, but the documentation of Hibernate says that it is not stable. What should I do?
I have also considered proxool, but I gave up figuring out how to configure it.
Which connection pool would you recommend for me?