问题标签 [apache-commons-dbcp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
8864 浏览

java - 如何配置 DBCP PoolableConnectionFactory?

这就是我使用 DBCP 1.4 连接工厂创建数据源的方式:

工作正常,但我不知道如何配置它,这里列出的参数:http: //commons.apache.org/dbcp/configuration.html。例如,我需要设置testWhileIdletrue.

0 投票
2 回答
20305 浏览

java - Spring 2.5 无法获得 JDBC 连接

我正在使用 spring 2.5 SimpleJdbcTemplate 来访问 MySQL 数据库。当我尝试访问数据库过于频繁(使用 Quartz 每分钟访问一次)时,我得到了这个堆栈跟踪:

每分钟执行的代码:

出于测试目的,它每分钟执行一次。今后将每周执行一次。

我的 DBCP 属性:

可以通过命令行访问数据库。

0 投票
1 回答
4157 浏览

spring - 带有 JDBCTemplate 的 BasicDataSource 未按预期汇集连接

我正在尝试在 Spring 应用程序中使用 BasicDataSource 与 JDBCTemplate 连接池。从我读过的所有内容来看,这应该非常简单:只需在 XML 中配置 BasicDataSource,将数据源注入 bean,然后在 setter 方法中创建一个新的 JDBCTemplate。

当我这样做时,我注意到我的表现很糟糕。所以后来我切换到 Spring 的 SingleConnectionDataSource,只是想看看会发生什么,我的性能变得更好了。我开始使用分析器工具进行调查,我注意到在使用 BasicDataSource 时,会为每个查询创建一个新连接。

进一步调查,我可以看到查询完成后连接在哪里关闭。特别是在 Spring 的 DataSourceUtil 类中:

我注意到的是“SmartDataSource”有一些特殊的逻辑,它使连接保持打开状态。这部分解释了我看到的行为:由于 SingleConnectionDataSource 实现了 SmartDataSource,因此连接没有关闭。但是,我认为通过使用 BasicDataSource,连接上的 close() 方法只会将连接返回到池中。但是,当我查看探查器中发生的情况时,实际上是在我的 sybase 连接上调用了 close 方法:不是我希望看到的任何类型的“池化连接包装器”。

最后一件事(这是我现在要研究的内容):我对一些查询使用 TransactionTemplate(涉及对数据库的提交),但简单的查询不在 transactionTemplate 中。我不知道这是否与问题有关。

编辑1:

好的,在完成项目后终于有更多时间进行调查,这是一个非常简单的测试,可以显示问题

这是我的两个数据源配置:

当我使用第一个配置运行测试时,大约需要 2.1 秒。当我使用第二种配置运行它时,大约需要 4.5 秒。我在 BasicDataSource 上尝试了各种参数,例如设置 maxActive=1 和 testOnBorrow=false,但没有任何区别。

0 投票
1 回答
30584 浏览

spring - 如何在 Spring Framework 中为 BasicDataSource 设置最大池大小或连接大小

我在 JBoss EAP 服务器中部署了一个 Spring 应用程序,使用以下设置:

如何配置连接池的最小和最大大小?

BasicDataSource 的任何参考资料或任何最佳实践都会有很大帮助。

0 投票
1 回答
5660 浏览

java - DBCP 连接属性

我们很难弄清楚定义的属性,minIdle等等maxIdle

我们在以下设置中看到以下错误

0 投票
4 回答
68999 浏览

java - DBCP - 不同数据库的验证查询

我使用 DBCP 池,我想使用testOnBorrowtestOnReturn来测试连接是否仍然有效。
不幸的是,我必须设置属性validationQuery 才能使其工作。

问题:validationQuery 应该是什么值?

我知道,validationQuery 必须是一个 SQL SELECT 语句,它至少返回一行。

问题是我们使用各种数据库(DB2、Oracle、hsqldb)。

0 投票
1 回答
12471 浏览

java - 使用 Spring 配置 apache dbcp PoolingDataSource

尝试遵循 apache dbcp 示例中的模式,我了解所有内容,除了数据库属性的来源和来源以及它们必须放置在应用程序上下文中的 bean 中。

我改用了 Spring Data Source,但我记得我很匆忙地配置了它,而且我记得在配置 apache dbcp 本身提供的原始数据源时遇到了困难。所以正好有时间去面对问题,实现使用PoolingDataSource的初衷。

我使用 Spring 实现的原因是因为它提供了设置参数以连接到数据库的方法。

http://static.springsource.org/spring/docs/2.0.x/api/org/springframework/jdbc/datasource/DriverManagerDataSource.html

根据http://commons.apache.org/dbcp/apidocs/org/apache/commons/dbcp/PoolingDataSource.html

没有方法可以填充配置,如 url 或加载驱动程序。

我试图通过对象池等来跟踪它,但真的迷路了。

预先回复:是的,我不想使用 apache basicDataSource。

所以现在我又回到了问题上,无法真正理解在哪里获取参数?司机?网址?似乎在连接工厂中设置了 url、pw 和用户名。但是在哪里获取要加载的 postgresql 驱动程序呢?

请帮助完成配置。

(使用弹簧进行配置)

我相信我们只对前两个感兴趣,但我包括了所有内容以防万一。

似乎有很多人使用解决方法:http: //forum.springsource.org/showthread.php?10772 -How-do-I-create-a-org-apache-commons-dbcp-PoolableConnection

0 投票
1 回答
281 浏览

java - 错误:: 公共类 org.apache.commons.dbcp.BasicDataSource

安装 Maven 项目时出现此错误(以及所有相关的“未解决类型”错误)。没有与 dbcp 相关的更改,我尝试删除所有本地存储库,再次安装并commons-dbcp下载,所以我想依赖关系很好(实际上我可以在几个小时前安装相同的依赖关系)。这种行为的原因可能是什么?

0 投票
1 回答
561 浏览

spring - 这个 dbcp 异常重要吗?

我正在使用spring 3.05 + mysql,程序运行后,我从日志中发现了很多异常:

我知道这是由 Mysql 引起的——经过数小时的空闲后,它最初关闭了连接,而从 dbcp 端看起来它仍然活着。由于 Mysql 服务于多个数据库实例,所以我需要从我的应用程序代码方面进行更改。

我的问题是,例外真的重要吗?JPA 会在失败后重试连接吗?

谢谢!

0 投票
1 回答
472 浏览

java - 100 个用户的连接池 - 值得吗?

我开始在 Oracle 10g 上开发一个小型 Java Web 应用程序。预计用户群将达到 100 个用户。我不希望一次看到超过 50 个用户使用该应用程序。

现在,我正在考虑使用 DBCP、C3P0 或 Tomcat JDBC 连接池,但是对于这么小的用户群,这些中的任何一个都会增加真正的价值吗?我从未使用过任何解决方案,因此存在引入复杂性的风险(而且我已经看到人们在连接池方面面临一些疯狂问题的其他线程)并且我不确定这些好处是否会超过风险。或者还有其他方法吗?也许甲骨文有自己的解决方案?

请帮忙。

谢谢你。