xml - 最好的 JDBC 数据源 bean 类

标签 xml class configuration datasource javabeans

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

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

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

最佳答案

Spring has its own: org.springframework.jdbc.datasource.DriverManagerDataSource

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

I have a JPA/Hibernate three tier application that needs connection pooling, but it looks like that all support this....

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

如果您不是,那么 DBCP、C3P0 是最常见的解决方案。 会使用 C3P0(实际上现在与 Hibernate 捆绑在一起,而不是 DBCP),我在高负载下遇到了 DBPC 的一些死锁问题,而不是 C3P0,所以我更喜欢 C3P0。

可能值得注意的是,DBCP 在长时间不活动(而 C3P0 处于不活动状态)后最近又复活了,因此可能会变得更好。

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

无论如何,您通常应该在投入生产之前运行稳健性测试。

另见

关于xml - 最好的 JDBC 数据源 bean 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2986038/

相关文章:

class - 我应该给我所有的抽象类命名吗AbstractFoo

post - Wildfly 10 忽略的最大帖子大小

java - 用于 Java/Spring 配置的 ZooKeeper?

java - 如何在 Intellij IDEA 中为 Apache Tomcat 指定自定义 JRE 路径?

xml - 使用 XSLT 获取节点标题

java - Java 中的 XML 验证 - 额外的结束标记 >

java - Netty - Xml 字符串的分隔符

javascript - 无法使用 JavaScript/jQuery 将特定的类名分配给 div 集合

c++ - 如何从类里面返回 char*?

java - 如何在 Java StringBuffer 中捕获某些文本