问题标签 [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 投票
1 回答
183 浏览

java - 1.4 Commons-DBCP 被引入而不是 1.3

我有一个奇怪的情况。在 jar A 中,我明确引入了 commons-dbcp 1.3 版。在 jar B 中,我依赖于 jar A。但是,当我在 jar B 中引入 jar A 依赖项时,我的 maven 依赖层次结构显示 jar B 现在使用的是 1.4。如果我删除该依赖项,commons-dbcp 将从我的 maven 依赖项层次结构中消失,因此我确信它不会被拉入其他地方。当我在 jar A 的 maven 依赖层次结构中时,它只显示 1.3。

有谁知道为什么会发生这种情况?

0 投票
2 回答
11961 浏览

java - 使用 DBCP 配置 Tomcat

经过一段时间(几个小时)后,我们收到了 CommunicationsException(来自 DBCP)。错误消息(在异常中)位于此问题的末尾 - 但我没有看到任何配置文件中定义的 wait_timeout 。(我们应该看哪里?tomcat/conf 目录之外的某个地方?)。

其次,正如异常所建议的那样,将“Connector/J 连接属性'autoReconnect = true'”放在哪里?这是tomcat设置中文件conf/context.xml中的资源定义:

第三,JVM为什么要等到调用executeQuery()才抛出异常?如果连接超时,getConnection 方法应该抛出异常,不是吗?这是我正在谈论的源代码部分:

最后,这是堆栈跟踪的第一几行......

这就是我们中的一些人认为“忘记 dbcp,它可能非常依赖于 IDE 配置和幕后魔术,以至于 DriverManager.getConnection(...) 可能更可靠”的原因。对此有何评论?感谢您的见解,-MS

0 投票
1 回答
1510 浏览

java - 使用 tomcat 6.0 和 java 1.6 配置 commons DBCP

我想在我的 Web 应用程序中使用 commons DBCP。我正在使用 java 1.6 和 tomcat 6.0 。我真的不知道如何配置 DBCP,因为我将在我生命中的第一次使用它。有人可以告诉我如何配置 dbcp 吗?我需要配置的详细步骤。我也想知道如何在配置后访问 servlet 中的连接。

谢谢。

0 投票
1 回答
6014 浏览

java - 使用 Spring+dbcp 刷新数据源

我正在使用带有 DBCP 的 Spring,并且当操作环境的某些配置发生更改时需要刷新我的数据源,而无需重新启动所有应用程序。

如果我在不使用 DBCP 的情况下执行此操作,我会强制此刷新关闭当前打开的正在使用的数据源并启动一个新的 DataSource 实例。

使用 DBCP+Spring,我做不到。

有人知道这是否可能?

0 投票
4 回答
88798 浏览

java - Spring JDBC 连接池最佳实践

我有一个具有非常基本配置的基本 Spring JDBC 应用程序:

我想介绍一个连接池,在阅读了 SO 上的几个线程之后,我对使用哪个池库感到有些困惑。

似乎在 SO 上有更多学分的库是C3P0DBCP。由于我使用的是 Oracle,因此我还可以使用驱动程序提供的池化数据源。

我知道还有更多可用的库 - 例如新的 Apache Tomcat 7 池库。

有没有我真的应该避免的图书馆?

我应该对给定的库使用任何推荐的配置吗?

您想分享任何“战争故事”吗?

0 投票
2 回答
8349 浏览

java - 为什么 JNDI 返回带有 NULL uri 的 DataSource 而不是查找失败?

我寻找了一个类似的问题,但只找到了类似的问题,例如Godaddy JNDI 问题---无法为连接 URL 'null' 创建类 '' 的 JDBC 驱动程序,这不能回答我的一般问题。

Tomcat 7.0.8 ..以下代码

抛出此错误。

我不是在问它为什么失败或如何修复它。

我的问题是,为什么 LOOKUP 没有失败?

为什么查找创建一个无用的带有空 URL 的 BasicDataSource?有没有比尝试使用它并查看它是否爆炸更好的方法来检测 JNDI 名称是否“不存在”?这种方法让我想起了他们如何测试桥梁

我终于硬着头皮把一堆代码从原始的 JDBC 代码移到了 JNDI,但仍有许多谜团。

如果可能的话,我想避免向下转换 BasicDataSource,以至少保留数据库独立性的错觉。

TIA

0 投票
1 回答
3503 浏览

mysql - Tomcat webapp 重新部署后无法使用 MySQL 驱动程序

我正在使用 commons-dbcp 为小型 Spring webapp 中的 MySQL 数据库进行连接池,该应用程序使用 Sun 1.6 JDK 作为 WAR 文件部署到本地 Tomcat 6.0.28 容器(使用 Ubuntu 包管理器安装)。部署是从 Maven 使用 tomcat-maven-plugin-1.1 完成的,目标是tomcat:redeploy. MySQL Connector/J jar 位于 webapp 的WEB-INF/lib目录中。

Tomcat 启动后第一次加载 webapp,一切正常。但是,当我重新部署 webapp 时,当 Tomcat 取消部署 webapp 时,它会抱怨 JDBC 驱动程序没有取消注册。

然后,当Tomcat重启webapp时,连接数据库失败,抱怨没有合适的驱动:

如果我在重新部署后手动重新启动 Tomcat,一切正常。

我知道 MySQL 驱动程序在加载类时向 DriverManager 注册自身,但是在com.mysql.jdbc.Driver重新部署 webapp 时似乎没有重新加载该类。Tomcat的WebappClassLoader是否应该在重新加载WEB-INF/libwebapp时从目录中重新加载类,还是在部署之间将它们保存在内存中?还是我必须在部署后自己重新注册 MySQL 驱动程序?

此外,我看到很多帖子建议将驱动程序 jar 移动到 Tomcat 的commons/lib目录,但我想尽可能避免依赖于我的 WAR 文件外部。

提前感谢您的任何帮助。

0 投票
2 回答
18568 浏览

sql-server - 如何在 JDBC Spring 配置中为 SQL Server 指定架构

我们在 Spring 中使用 org.apache.commons.dbcp.BasicDataSource 作为我们数据源的父类。

是否可以在“url”或 DBCP 数据源的另一个属性中指定要使用的模式?

0 投票
21 回答
553228 浏览

mysql - 如何修复:使用池时出现“找不到适合 jdbc:mysql://localhost/dbname 的驱动程序”错误?

我正在尝试创建与我的数据库的连接,当我使用 main 方法测试我的代码时,它可以无缝运行。但是,当尝试通过 Tomcat 7 访问它时,它会失败并出现错误:

我正在使用池化。我在 WEB-INF/lib 和 .classpath 中放入了 mysql 连接器 (5.1.15)、dbcp (1.4) 和 pool(1.4.5) 库。我正在使用 Eclipse IDE。我的数据库驱动程序代码是:

我的堆栈跟踪的开始:

是什么导致了这个错误?

0 投票
1 回答
5092 浏览

java - Spring上的DBCP和Hibernate不会重新打开死连接,为什么?

我在 Spring 项目中使用 Hibernate 和 DBCP 来管理 mySQL 连接。

一切正常。唯一的问题是,如果应用程序长时间保持静止,它会抛出异常,因为连接已死(如果我在应用程序启动时重新启动 mySQLd 也是如此)。这没什么大不了的,因为用户将获得异常页面(或自定义页面)并且重新加载将解决问题。但我想解决它。这是例外的一部分:

** 开始嵌套异常 **

java.io.EOFException MESSAGE:无法从服务器读取响应。预期读取 4 个字节,在连接意外丢失之前读取 0 个字节。

堆栈跟踪:

java.io.EOFException:无法从服务器读取响应。预期读取 4 个字节,在连接意外丢失之前读取 0 个字节。

我四处搜索,发现使用 mysql 我应该将dbcp.BasicDataSource属性设置testOnBorrowtrue,我已经在我的 servlet-context.xml 中完成了:

但问题仍然存在。有什么线索吗?

解决方案!我用了: