Showing posts with label hibernate. Show all posts
Showing posts with label hibernate. Show all posts

2019-09-03

datasource c3p0 vs org.apache.commons.dbcp.BasicDataSource




https://stackoverflow.com/questions/520585/connection-pooling-options-with-jdbc-dbcp-vs-c3p0
DBCP is out of date and not production grade. Some time back we conducted an in-house analysis of the two, creating a test fixture which generated load and concurrency against the two to assess their suitability under real life conditions.

DBCP consistently generated exceptions into our test application and struggled to reach levels of performance which C3P0 was more than capable of handling without any exceptions.

C3P0 also robustly handled DB disconnects and transparent reconnects on resume whereas DBCP never recovered connections if the link was taken out from beneath it. Worse still DBCP was returning Connection objects to the application for which the underlying transport had broken.

Since then we have used C3P0 in 4 major heavy-load consumer web apps and have never looked back.

UPDATE: It turns out that after many years of sitting on a shelf, the Apache Commons folk have taken DBCP out of dormancy and it is now, once again, an actively developed project. Thus my original post may be out of date.

That being said, I haven't yet experienced this new upgraded library's performance, nor heard of it being de-facto in any recent app framework, yet.










Hibernate ORM 5.3.11.Final = current stable release


As of 2019-Sep-03_pm021556
Hibernate ORM 5.3.11.Final  = current stable release


Hibernate ORM 5.3.11.Final User Guide.html

https://docs.jboss.org/hibernate/stable/core/userguide/html_single/Hibernate_User_Guide.html#_system_requirements

System Requirements

Hibernate 5.2 and later versions require at least Java 1.8 and JDBC 4.2.
Hibernate 5.1 and older versions require at least Java 1.6 and JDBC 4.0.




Relevant:
https://spring.io/blog/2018/09/21/spring-framework-5-1-goes-ga

Spring Framework 5.1 requires JDK 8 or higher and specifically supports JDK 11 as the next long-term support release. It comes with initial refinements for GraalVM compatibility and deeply integrates with the recently released Reactor Californium and Hibernate ORM 5.3.







Google Referrals