最佳 JDBC 数据源 bean 类

2024-01-08

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

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

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


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

班上org.springframework.jdbc.datasource.DriverManagerDataSource http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/jdbc/datasource/DriverManagerDataSource.html实施DataSource http://java.sun.com/javase/6/docs/api/javax/sql/DataSource.html?is-external=true接口但是是NOT连接池,它只是一个方便的类,可以在开发过程中使用,而不是真正的池(但它会在每次调用时创建一个新连接)。我建议阅读它javadoc http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/jdbc/datasource/DriverManagerDataSource.html.

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

如果您使用应用程序服务器,请选择应用程序服务器的连接池。

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

值得注意的是,DBCP 经过很长一段时间的不活动(而 C3P0 不活动)后最近又复活了,因此可能会变得更好。

其他球员包括Proxool http://proxool.sourceforge.net/ and BoneCP http://jolbox.com/(最近的新竞争对手)。后者看起来很有趣,但我没有任何实际经验。

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

See also

  • JDBC 连接池选项:DBCP 与 C3P0 https://stackoverflow.com/questions/520585/connection-pooling-options-with-jdbc-dbcp-vs-c3p0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

最佳 JDBC 数据源 bean 类 的相关文章

随机推荐

  • 协作时如何管理配置文件?

    我正在编写一个简短的脚本 在页面顶部包含一些简单的变量 我想和一位朋友一起处理它们 但我们不确定如何管理每次为我们中的一个人拉取后需要更改的变量 从而向 git status 添加不必要的垃圾 我想过为我们每个人创建不同的命名分支 然后主服
  • 重置 --soft 和 --mixed 之间的区别

    我是 GIT 新手 并试图理解两者之间的区别git reset soft and git reset mixed 我知道后者会重置索引 而前者则不会 但我试图了解其实质区别是什么 我什么时候会使用其中一个而不是另一个 我读了这个堆栈溢出帖子
  • 将方法分配给事件时访问 React 中的“this”

    提前道歉 我对 React 很陌生 In printDocument我正在设置oHiddFrame onload this setPrint 甚至this setPrint但我收到一个错误Cannot set property contai
  • 在 Mac 上运行 S3 命令时出现“/usr/local/opt/python/bin/python2.7: badterpreter: No such file or directo”

    我使用的是 Mac High Sierra 我正在尝试安装 Amazon 的 S3 cli 工具 我以为我已经通过 pip 安装成功 但是当我尝试运行 s3 命 令时出现此错误 localhost davea s3cmd recursive
  • 如何禁用 AlertDialog 内的按钮?跟进问题

    我昨天问了这个问题 http stackoverflow com questions 7392321 how do you disable a button inside of an alertdialog 并相应地修改了我的代码 今天早上
  • 注册为自定义文件类型的默认应用程序

    注册即可打开自定义类型的文件 假设我有 cool 文件 如果用户尝试打开它 Android 会询问他们是否愿意使用我的应用程序打开它 如何 您可以将以下内容添加到必须打开文件 在我们的例子中为 pdf 的活动内的 AndroidManife
  • 使用 EnableDelayedExpansion 时变量修饰符的正确语法

    我希望能够执行 p 来仅查看文件的路径 但在循环中使用它时我无法获得正确的语法 使用 EnableDelayedExpansion 这是我的代码 echo off set dir1 TMP opt set dir2 c opt set em
  • 自动更新.NET应用程序[重复]

    这个问题在这里已经有答案了 我们正在开发一个非常复杂的系统 该系统由多个 WCF 服务 ASP NET MVC 应用程序 管理工具 Windows 窗体应用程序 组成 其中一些将在多个服务器上运行实例 我们正在为这样的系统寻找一个好的自动更
  • 程序崩溃以及编码中算术运算的一些问题

    stackoverflow 社区大家好 我的代码有一些问题 我目前是一名学生 所以基本上我是一个初学者 使用欧几里得算法 下面显示的代码应该将两个数字相除 直到商达到 0 但它只是在商变为 0 之前的最后一个除法过程中停止 我不知道程序是否
  • 设置应用程序的supervisor环境变量

    我正在从supervisord 运行一个应用程序 我必须为其设置一个环境 大约有30个环境变量需要设置 我尝试过把一切都放在一件大事上 环境 线 这似乎不起作用 我还尝试了多个environment 行 但这似乎也不起作用 我还尝试了在 e
  • 递增数组值 - Arduino

    我正在尝试增加一些数组值 int counter 0 0 0 0 0 0 0 0 如果位置 0 的数字值达到 25 则位置 1 的值加 1 位置 0 重置为 0 依此类推 当索引位置 2 达到 25 时 位置 3 增加 1 并重置它的值 自
  • 在 if 语句中使用函数的返回值

    希望这里有一个简短的问题 可以在 if 语句中使用函数的返回值吗 IE function queryThis request return false if queryThis foo false doThat 我确信非常简单明了 但我遇到
  • 安装错误:INSTALL_FAILED_INSUFFICIENT_STORAGE?运行模拟器期间

    2011 07 22 16 33 02 Today 2011 07 22 16 33 02 Today Android Launch 2011 07 22 16 33 02 Today adb is running normally 201
  • 如何在 Ruby 中正确使用保护子句

    在此示例中使用保护子句的正确方法是什么 def require admin unless current user current user role admin flash error You are not an admin redir
  • Java 将 19 位 Unix 时间戳转换为可读日期

    我正在尝试转换 19 位 Unix 时间戳 例如1558439504711000000 1个半五亿 https en wikipedia org wiki Names of large numbers 转换为可读的日期 时间格式 我的时间戳
  • SqlAlchemy 与 Marshmallow 的关系

    我正在尝试返回 JSON 甚至返回一对多 sqlalchemy 查询的完整字符串 我此时正在使用 Marshmallow 来尝试执行此操作 但它不断返回不完整的数据 我有两个模型定义为 class UserModel db Model ta
  • 将 onclick 添加到子菜单?

    我的菜单有一个 onclick 函数 但我无法弄清楚子菜单的 ID 是什么 以便我可以告诉子菜单当用户单击它时要做什么 我使用下面的代码以编程方式创建了子菜单 因此 如果有人可以向我解释一下我如何知道子菜单中每个项目的 id 是什么 我将不
  • 在 Rails 3 中为 OmniAuth 创建命名路由

    观看 Ryan 精彩的 Railcast 后简单的 OmniAuth http railscasts com episodes 241 simple omniauth 我已经设法在我的应用程序中实现身份验证 一切工作正常 但在我看来 我的链
  • 如何以编程方式关闭 UITextView 中的自动更正弹出窗口?

    我正在自己做一些自定义自动完成的事情insertText 但是如果有可见的自动更正建议 视图就会进入奇怪的状态 如果我使用 textView unmarkText 它会忽略自动更正弹出窗口 但它接受自动更正 这很糟糕 有什么方法可以以编程方
  • 最佳 JDBC 数据源 bean 类

    我看到有些人使用org apache commons dbcp BasicDataSource而其他配置有com mchange v2 c3p0 ComboPooledDataSource Spring有它自己的 org springfra