最佳JDBC数据源bean类

HDa*_*ave 8 xml configuration datasource class javabeans

我看到有些人在使用org.apache.commons.dbcp.BasicDataSource其他配置时会使用com.mchange.v2.c3p0.ComboPooledDataSource.

Spring有自己的: org.springframework.jdbc.datasource.DriverManagerDataSource

可能还有更多.但哪一个最好?我有一个需要连接池的JPA/Hibernate三层应用程序,但看起来所有人都支持这个....

Pas*_*ent 12

Spring有自己的:org.springframework.jdbc.datasource.DriverManagerDataSource

该类org.springframework.jdbc.datasource.DriverManagerDataSource实现了DataSource接口但不是连接池,它只是一个方便的类,可以在开发期间而不是实际池中使用(但它会在每次调用时创建一个新连接).我建议阅读它的javadoc.

我有一个需要连接池的JPA/Hibernate三层应用程序,但看起来所有人都支持这个....

如果您使用的是应用程序服务器,请使用应用程序服务器的连接池.

如果不是,那么DBCP,C3P0是最常见的解决方案.会使用C3P0(实际上现在捆绑了Hibernate而不是DBCP),我在高负载下遇到了DBPC的一些死锁问题,而不是C3P0所以我倾向于选择C3P0.

值得注意的是,DBCP在很长一段时间不活动后(最近C3P0处于非活动状态)已经复活,因此可能会变得更好.

其他参与者包括ProxoolBoneCP(最近的新竞争对手).后来看起来很有趣,但我没有任何实际经验.

在任何情况下,您通常应该在投入生产之前运行稳健性测试.

也可以看看