gpt4 book ai didi

java - tomcat-dbcp 与 commons-dbcp

转载 作者:IT老高 更新时间:2023-10-28 13:52:01 24 4
gpt4 key购买 nike

这两个连接池库之间似乎存在很多混淆。我想知道哪个更好(如果有的话)?

以下是我想提出的一些观点...有人可以验证一下吗?

  1. Tomcat DBCP:使用默认的 tomcat-dbcp.jar,它会出现在你的 tomcat/lib 目录中。您不需要 web-inf/lib 中的commons-dbcp.jar 或commons-pool.jar 库。 DB驱动应该放在tomcat/lib中。

  2. Tomcat DBCP 数据源类是org.apache.tomcat.dbcp.dbcp.BasicDataSource。Commons DBCP 数据源类是org.apache.commons.dbcp.BasicDataSource

  3. 这两者之间的唯一区别可以在 this blog 中找到。 .不知道信息是否正确。

  4. The official Tomcat documentation清楚地提到大多数类刚刚被重新命名和重新打包。

所以问题是:使用哪一种,哪一种更好

最佳答案

Tomcat DBCP 只是 Apache Commons DBCP 的重命名版本,还有一个不同的内部包名称前缀。

在构建时,Tomcat 获取 Commons DBCP 源(版本取决于 Tomcat 版本,例如 Tomcat 7.0.27 使用 Commons DBCP 1.4),并进行包名替换(org.apache.commons -> org.apache.tomcat.dbcp)并将结果构建为 tomcat-dbcp.jar

这样做是为了使内部 Tomcat JDBC 池永远不会与 Commons DBCP 类的可能应用程序使用冲突。这避免了许多潜在的类加载问题。

编辑:“dbcp”包是关于数据源管理的。对于纯池的实现,Commons DBCP 依赖于 Commons Pool(包 org.apache.commons.pool),但在 Tomcat 中,池的实现被 Tomcat 自己的 JDBC pool 替换。 (包org.apache.tomcat.jdbc.pool)。

关于java - tomcat-dbcp 与 commons-dbcp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4711943/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com