问题标签 [c3p0]
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 - Hibernate 和 Mysql 超时问题,不适用于 c3p0
一周以来,我一直遇到 Hibernate 和 Mysql 超时错误的问题。显然,在我的 Hibernate/MySQL 运行 8 小时后(这是 Mysql 中的默认超时值),我有例外。我还添加了 c3p0。但这无济于事。
请指教 非常感谢
这是我的休眠配置:
这是跟踪:
java - c3p0 数据库池错误
在我的程序以 3cp0 作为我的连接池运行 30 分钟左右后,我收到以下异常。
这是错误:
我正在像这样设置我的游泳池:
我有 100 个线程来抓取页面,然后有 15 个数据库线程将结果插入到我的数据库中。如果抓取任务需要超过 20 秒,我会终止线程。任何想法为什么数据库连接池会死掉?
谢谢
java - 如何在 org.springframework.jdbc.CannotGetJdbcConnectionException 上记录 JDBC 连接信息
我正在开发一个将 Spring 框架与 Ibatis 和 C3P0 连接池结合使用的应用程序。该系统连接到大约 12 个独立的数据库。
当其中一个数据库无法访问时,我会在 Spring 生成的日志文件中获得堆栈跟踪(见下文)。但是,此日志记录缺少有关无法访问哪些数据库的非常重要的信息。
基本上,我希望在连接错误时记录 jdbc 连接字符串(无密码)。有没有一种简单的方法来告诉 Spring 记录这个?
……
java - Hibernate、c3p0 和 Mysql:java.io.EOFException
我将Hibernate与MySQL和c3p0一起使用,当 MySQL 连接在 8 小时后(wait_timeout
)到期时,Hibernate 无法重新连接,并且出现以下异常:
这是hibernate.cfg:
这是我的 c3p0.properties 文件:
更新:
日志文件下方:
任何提示表示赞赏。
谢谢
java - com.mchange.v2.resourcepool.CannotAcquireResourceException:A ResourcePool 无法从其主要工厂或源获取资源
我的 Hibernate 下有 MySQL,我也使用 c3p0-0.9.1 作为连接池。
在我的笔记本电脑上运行时(我的意思是在本地)我没有错误。但是当我在服务器上部署它时,我得到了这个异常:
这是我的堆栈跟踪:
java - java c3p0:如何配置 autoreconnect=true?
我正在使用 Java 编写一个 red5 应用程序,并且我正在使用 c3p0 进行数据库交互。
似乎在我的 MySQL 服务器中的连接超时后,我的应用程序停止使用配置 autoreconnect=true 的建议。
我该怎么做?
这是我用来创建数据源的函数:
java - c3p0 循环和 OSGi
我将我的项目包装在 OSGi 包中(只需从 Activator.start() 调用我的第一个启动方法)。在我的项目中,我使用 ORM ActiveObjects 和 c3p0 池。所有项目依赖项(jar 库)都在类路径中。如果我使用 c3p0 运行我的项目,对 DB 的 1 次查询大约需要 5 分钟。没有 c3p0 它可以正常工作。在什么方面有问题?非常感谢!
mysql - Hibernate/c3p0/MySQL下的网络延迟
我正在通过具有相当高延迟(~80ms)但带宽相对较高的连接连接到 MySQL(InnoDB)数据库。
我注意到查询时间根据查询的发出方式而有很大差异。在以下示例中,我将按主键对单个小行执行查询。查询时间为:
- 命令行客户端 (
mysql
): ~160ms - 原始 JDBC:~240 毫秒
- 休眠:~400ms(~0ms 开始,~160ms 获取,~240ms 提交)
- 休眠,L2:~240ms(~0ms 开始,~0ms 获取,~240ms 提交)
- 休眠,c3p0:~880ms(~160ms 开始,~240ms 获取,~480ms 提交)
- 休眠,L2+c3p0:~640ms(~160ms 开始,~0ms 获取,~480ms 提交)
(“L2”表示启用了 Hibernate 二级缓存,“c3p0”表示启用了 c3p0,“begin”、“get”和“commit”是查询期间调用的各种子方法的计时)
这些大致是“稳定状态”的结果,所以 L2 缓存是热的,Hibernate 启动时间被忽略。我假设启用 L2 缓存时“get”通常为 0ms,因为实际上没有发出 get。
我的问题是:
- 为什么所有查询都是网络延迟的倍数?即使是
mysql
命令行客户端似乎也需要 2 次往返才能进行简单查询。 - 为什么所有的 JDBC/Hibernate 查询都比命令行客户端慢得多?即使是原始的 JDBC 客户端似乎也需要 3 次往返。
- 为什么 c3p0 似乎让一切变得更糟?据我所知,我已经禁用了连接测试,否则它可以解释事情。
java - 当线程全部为空时,C3P0 明显死锁?
我在 Tomcat 中使用 C3P0 作为连接池,我看到非常令人担忧的错误:
第 534 行是:
看起来很像所有线程都处于空闲状态。他们在等工作。0 个活动线程,只有 1 个任务要完成。关于出了什么问题的任何线索?
这是配置:
java - 如何防止 Hibernate + c3p0 + MySql 创建大量睡眠连接?
我将 GWT 与 Hibernate、c3p0 和 MySQL 一起使用来生成一个受众有限的 Web 应用程序(每天最多 50 个用户)。在测试期间,我发现 Hibernate 正在打开与每个会话的连接,但没有关闭它,无论使用该close()
方法。
我目前的配置如下:
与应用程序的每个新连接都会创建一个新池。例如,如果我将池大小设置为 3,则到应用程序的 2 个连接会导致 6 个连接,直到应用程序关闭。
预期的行为是在每个事务之后简单地关闭或重用连接。我怎样才能做到这一点?