为什么 tomcat 的数据库连接池有两个选项(tomcat-dbcp 和 tomcat-jdbc)?

2024-02-26

我想将数据库连接池添加到现有应用程序。我找到了两个基于tomcat的库tomcat-dbcp and tomcat-jdbc。我刚刚遇到麻烦了,我应该选择哪一个?


总之

Tomcat 提交团队成员的注释(请参阅here https://bz.apache.org/bugzilla/show_bug.cgi?id=64106#):

Tomcat JDBC 是 Tomcat 的“本土”数据库连接池,不使用 poolPreparedStatements。 Tomcat DBCP 是 Tomcat 的软件包,更名为 Apache Commons DBCP 2 的 fork。默认情况下使用 Tomcat DBCP。

默认 DBCP 2 Tomcat 池

这是 Tomcat 中包含的两个池中较新的一个,也是默认使用的一个。它基于 Commons DBCP 2 池,如上所述here http://tomcat.apache.org/tomcat-9.0-doc/jndi-datasource-examples-howto.html#Database_Connection_Pool_(DBCP_2)_Configurations.

您可以访问以下网站查看更多详细信息DBCP 官方网站 https://commons.apache.org/proper/commons-dbcp/configuration.html.

Tomcat 的自制 JDBC 池

主要文档页面是here https://tomcat.apache.org/tomcat-9.0-doc/jdbc-pool.html.

您可能会在 Tomcat 文档的某些地方看到它被称为“新” - 例如here https://tomcat.apache.org/tomcat-9.0-doc/jdbc-pool.html#Introduction:

那么为什么我们需要一个新的连接池呢?

It was在某个时间点是新的。它被 DBCP2 池取代。

使用哪一个?

这在某种程度上是一个见仁见智的问题,也可能取决于您的具体情况。如果您无法决定,可以从 Tomcat 的默认 DBCP 2 池开始。

只是补充一下:您可以将上述池与 Tomcat 一起使用,也可以使用其他池,例如HikariCP https://github.com/brettwooldridge/HikariCP, c3p0 https://www.mchange.com/projects/c3p0/等等。你不必选择only在两个 Tomcat 提供的池之间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 tomcat 的数据库连接池有两个选项(tomcat-dbcp 和 tomcat-jdbc)? 的相关文章

随机推荐

  • GraphViz:仅修复节点的 y 位置

    我想固定节点的 y 位置 但根据力方向自动对齐 x 位置 每个 y 位置都是单独的 因为它对应于 y 轴上的一个坐标 并且有几千个节点 所以我认为为每个节点使用子图是不合理的 使用简单的力定向布局编写了我自己的 Java2D PDFGrap
  • 科尔多瓦蓝牙音箱没有声音

    我正在开发一个 Android 和 IOS 应用程序 该应用程序可以毫无问题地播放音频消息 我的问题如下 如果手机已经连接到蓝牙 启用并连接蓝牙 然后我启动应用程序并播放音频文件 在这种情况下 我在电话和蓝牙扬声器上都听不到任何声音 但是
  • Hadoop中数据是如何分割的

    Hadoop是否根据程序中设置的mapper数量来分割数据 也就是说 有一个大小为 500MB 的数据集 如果 Mapper 的数量为 200 个 假设 Hadoop 集群允许同时存在 200 个 Mapper 那么每个 Mapper 是否
  • 反应本机 UIExplorer 无法打开

    我正在尝试在 Xcode 上查看 UIExplorer 我已经按照这个例子做了 应该很简单 它说克隆react native cd到目录 npm install并运行npm start 但是 当我运行 npm start 时 出现以下错误
  • Python 类内的 main 调用

    我没有做过太多Python工作 来自C Java背景 所以请原谅我问这么一个简单的问题 我在 Eclipse 中使用 Pydev 来编写这个简单的程序 我想要它做的就是执行我的 main 函数 class Example if name m
  • Typo3 CKEditor 图片来自 FAL

    我使用 CKEditor 设置了全新的 TYPO3 8 7 4 安装 并且rte ckeditor image从 FAL 获取图像 在文档中rte ckeditor image它说 最大尺寸与魔法图像的配置有关 必须在 Page TSCon
  • npm 错误“Keccak 绑定编译失败。”安装松露时

    我尝试安装 Truffle 但出现以下错误 npm install g truffle C Users dany vandermeij AppData Roaming npm truffle gt C Users dany vanderme
  • 以编程方式在其他视图的底部添加子视图

    我创建了一个 UIView 并通过界面生成器向其中添加了一些 UIlabel 我想以编程方式将 UIView 添加到此视图 self view addSubview newView 问题是 newView 隐藏了我使用界面生成器创建的部分标
  • 从 Google+ API json 结果中的对象 -> 内容末尾删除“\ufeff”

    Google API 的结果是 ufeff附加到每个 内容 结果的末尾 我真的不知道为什么 从 json 结果中删除此 unicode 字符的最佳方法是什么 它正在生产一个 在我显示的一些输出中 例子 https developers go
  • 在除以零的中断处理程序中该怎么做?

    操作系统中断处理程序应该如何处理与编码错误相关的中断 例如 我尝试除以 0 来测试我的中断 但我的中断处理程序被调用 然而 由于 div 指令没有成功执行 EIP 不会更新到它之后的下一条指令以及从中断处理程序返回后iret 它又回到了错误
  • 大表中的行数

    SELECT COUNT FROM BigTable 1 如果我的行数超过 10 亿 我应该使用哪种方式来获取表中的行数 更新 例如 如果上面的查询出现 超时问题 有什么方法可以优化它 怎样才能做得更快呢 如果您需要精确的计数 则必须使用C
  • 每次执行 make 先决条件

    我的生成文件 PHONY test unit test functional mocha test test unit test functional test unit SUITE unit test unit mocha echo un
  • 部署概念:打包 JAR 依赖项、何时以及为何

    因此 我对 Java EE 比较陌生 并且很难理解 Java 部署文件何时 何地以及为何与其依赖项一起打包 假设我将我的项目构建为myapp jar 并且依赖于 fizz jar buzz jar 和 JODA joda time 2 0
  • 清理 Python 模块并重新启动 Mac OS X

    我不是一个完全的新手 但我尝试安装模块很长一段时间 此时我想重新开始并安装 python 和我需要的所有模块 这样我才能真正理解它们 我的问题是 其中一些导入 但大多数安装到错误的站点包或不导入 可能是因为我弄乱了我的系统 python 我
  • 在Java或Android中将Mat(OpenCV)数据类型写入csv文件

    我喜欢将 Mat 类型数据从 OpenCV 提取到 csv 文件 我可以从 Mat 到字节数组 然后我写入文本文件 但我从未获得完整图像 始终获取图像的一部分 可能出什么问题了 printtoTextFile Mat d File file
  • R:在查询图形参数时防止 par() 打开新窗口

    这个问题说明了一切 有时您需要进行初步计算来格式化绘图 并且您不希望显示窗口 最重要的是抢走焦点 例如 假设您想知道用作边距的行的高度 您可能需要使用 par mai par mar 我经常查询图形参数来定义图形输出 但发现弹出的窗口分散注
  • 为什么我无法在 asp:CheckBox 上设置值?

    没有这个属性Value
  • Slickgrid 水平滚动条覆盖最后一行

    当 Slickgrid 包含在div具有固定宽度和水平滚动条变得必要 该滚动条覆盖最后一行数据 http jsfiddle net ericjohannsen LtsvJ http jsfiddle net ericjohannsen Lt
  • 如何使用 GDAL 从 tiff 和 4 个角纬度和经度创建 geotiff [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一张没有 TIFF 格式地理数据的图像 地图 我需要从我的图像中获取 GeoTIFF 文件 我的地
  • 为什么 tomcat 的数据库连接池有两个选项(tomcat-dbcp 和 tomcat-jdbc)?

    我想将数据库连接池添加到现有应用程序 我找到了两个基于tomcat的库tomcat dbcp and tomcat jdbc 我刚刚遇到麻烦了 我应该选择哪一个 总之 Tomcat 提交团队成员的注释 请参阅here https bz ap