问题标签 [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.
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。
有谁知道为什么会发生这种情况?
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
java - 使用 tomcat 6.0 和 java 1.6 配置 commons DBCP
我想在我的 Web 应用程序中使用 commons DBCP。我正在使用 java 1.6 和 tomcat 6.0 。我真的不知道如何配置 DBCP,因为我将在我生命中的第一次使用它。有人可以告诉我如何配置 dbcp 吗?我需要配置的详细步骤。我也想知道如何在配置后访问 servlet 中的连接。
谢谢。
java - 使用 Spring+dbcp 刷新数据源
我正在使用带有 DBCP 的 Spring,并且当操作环境的某些配置发生更改时需要刷新我的数据源,而无需重新启动所有应用程序。
如果我在不使用 DBCP 的情况下执行此操作,我会强制此刷新关闭当前打开的正在使用的数据源并启动一个新的 DataSource 实例。
使用 DBCP+Spring,我做不到。
有人知道这是否可能?
java - 为什么 JNDI 返回带有 NULL uri 的 DataSource 而不是查找失败?
我寻找了一个类似的问题,但只找到了类似的问题,例如Godaddy JNDI 问题---无法为连接 URL 'null' 创建类 '' 的 JDBC 驱动程序,这不能回答我的一般问题。
Tomcat 7.0.8 ..以下代码
抛出此错误。
我不是在问它为什么失败或如何修复它。
我的问题是,为什么 LOOKUP 没有失败?
为什么查找创建一个无用的带有空 URL 的 BasicDataSource?有没有比尝试使用它并查看它是否爆炸更好的方法来检测 JNDI 名称是否“不存在”?这种方法让我想起了他们如何测试桥梁。
我终于硬着头皮把一堆代码从原始的 JDBC 代码移到了 JNDI,但仍有许多谜团。
如果可能的话,我想避免向下转换 BasicDataSource,以至少保留数据库独立性的错觉。
TIA
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/lib
webapp时从目录中重新加载类,还是在部署之间将它们保存在内存中?还是我必须在部署后自己重新注册 MySQL 驱动程序?
此外,我看到很多帖子建议将驱动程序 jar 移动到 Tomcat 的commons/lib
目录,但我想尽可能避免依赖于我的 WAR 文件外部。
提前感谢您的任何帮助。
sql-server - 如何在 JDBC Spring 配置中为 SQL Server 指定架构
我们在 Spring 中使用 org.apache.commons.dbcp.BasicDataSource 作为我们数据源的父类。
是否可以在“url”或 DBCP 数据源的另一个属性中指定要使用的模式?
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。我的数据库驱动程序代码是:
我的堆栈跟踪的开始:
是什么导致了这个错误?
java - Spring上的DBCP和Hibernate不会重新打开死连接,为什么?
我在 Spring 项目中使用 Hibernate 和 DBCP 来管理 mySQL 连接。
一切正常。唯一的问题是,如果应用程序长时间保持静止,它会抛出异常,因为连接已死(如果我在应用程序启动时重新启动 mySQLd 也是如此)。这没什么大不了的,因为用户将获得异常页面(或自定义页面)并且重新加载将解决问题。但我想解决它。这是例外的一部分:
** 开始嵌套异常 **
java.io.EOFException MESSAGE:无法从服务器读取响应。预期读取 4 个字节,在连接意外丢失之前读取 0 个字节。
堆栈跟踪:
java.io.EOFException:无法从服务器读取响应。预期读取 4 个字节,在连接意外丢失之前读取 0 个字节。
我四处搜索,发现使用 mysql 我应该将dbcp.BasicDataSource
属性设置testOnBorrow
为true
,我已经在我的 servlet-context.xml 中完成了:
但问题仍然存在。有什么线索吗?
解决方案!我用了: