最佳JDBC数据源bean类

时间:2010-06-06 21:53:17

标签: xml class configuration datasource javabeans

我发现有些人使用org.apache.commons.dbcp.BasicDataSource而其他配置有com.mchange.v2.c3p0.ComboPooledDataSource

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

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

1 个答案:

答案 0 :(得分: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(最近的新竞争对手)。后来看起来很有趣,但我没有任何实际经验。

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

另见