问题标签 [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.

0 投票
1 回答
4538 浏览

java - Hibernate 和 Mysql 超时问题,不适用于 c3p0

一周以来,我一直遇到 Hibernate 和 Mysql 超时错误的问题。显然,在我的 Hibernate/MySQL 运行 8 小时后(这是 Mysql 中的默认超时值),我有例外。我还添加了 c3p0。但这无济于事。

请指教 非常感谢

这是我的休眠配置:

这是跟踪:

0 投票
2 回答
3725 浏览

java - c3p0 数据库池错误

在我的程序以 3cp0 作为我的连接池运行 30 分钟左右后,我收到以下异常。

这是错误:

我正在像这样设置我的游泳池:

我有 100 个线程来抓取页面,然后有 15 个数据库线程将结果插入到我的数据库中。如果抓取任务需要超过 20 秒,我会终止线程。任何想法为什么数据库连接池会死掉?

谢谢

0 投票
1 回答
7568 浏览

java - 如何在 org.springframework.jdbc.CannotGetJdbcConnectionException 上记录 JDBC 连接信息

我正在开发一个将 Spring 框架与 Ibatis 和 C3P0 连接池结合使用的应用程序。该系统连接到大约 12 个独立的数据库。

当其中一个数据库无法访问时,我会在 Spring 生成的日志文件中获得堆栈跟踪(见下文)。但是,此日志记录缺少有关无法访问哪些数据库的非常重要的信息。

基本上,我希望在连接错误时记录 jdbc 连接字符串(无密码)。有没有一种简单的方法来告诉 Spring 记录这个?

……

0 投票
3 回答
2088 浏览

java - Hibernate、c3p0 和 Mysql:java.io.EOFException

我将HibernateMySQLc3p0一起使用,当 MySQL 连接在 8 小时后(wait_timeout)到期时,Hibernate 无法重新连接,并且出现以下异常:

这是hibernate.cfg:

这是我的 c3p0.properties 文件:

更新:

日志文件下方:

任何提示表示赞赏。
谢谢

0 投票
6 回答
68988 浏览

java - com.mchange.v2.resourcepool.CannotAcquireResourceException:A ResourcePool 无法从其主要工厂或源获取资源

我的 Hibernate 下有 MySQL,我也使用 c3p0-0.9.1 作为连接池。

在我的笔记本电脑上运行时(我的意思是在本地)我没有错误。但是当我在服务器上部署它时,我得到了这个异常:

这是我的堆栈跟踪:

0 投票
2 回答
15580 浏览

java - java c3p0:如何配置 autoreconnect=true?

我正在使用 Java 编写一个 red5 应用程序,并且我正在使用 c3p0 进行数据库交互。

似乎在我的 MySQL 服务器中的连接超时后,我的应用程序停止使用配置 autoreconnect=true 的建议。

我该怎么做?

这是我用来创建数据源的函数:

0 投票
1 回答
511 浏览

java - c3p0 循环和 OSGi

我将我的项目包装在 OSGi 包中(只需从 Activator.start() 调用我的第一个启动方法)。在我的项目中,我使用 ORM ActiveObjects 和 c3p0 池。所有项目依赖项(jar 库)都在类路径中。如果我使用 c3p0 运行我的项目,对 DB 的 1 次查询大约需要 5 分钟。没有 c3p0 它可以正常工作。在什么方面有问题?非常感谢!

0 投票
2 回答
1255 浏览

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 似乎让一切变得更糟?据我所知,我已经禁用了连接测试,否则它可以解释事情。
0 投票
11 回答
68241 浏览

java - 当线程全部为空时,C3P0 明显死锁?

我在 Tomcat 中使用 C3P0 作为连接池,我看到非常令人担忧的错误:

第 534 行是:

看起来很像所有线程都处于空闲状态。他们在等工作。0 个活动线程,只有 1 个任务要完成。关于出了什么问题的任何线索?

这是配置:

0 投票
3 回答
6607 浏览

java - 如何防止 Hibernate + c3p0 + MySql 创建大量睡眠连接?

我将 GWT 与 Hibernate、c3p0 和 MySQL 一起使用来生成一个受众有限的 Web 应用程序(每天最多 50 个用户)。在测试期间,我发现 Hibernate 正在打开与每个会话的连接,但没有关闭它,无论使用该close()方法。

我目前的配置如下:

与应用程序的每个新连接都会创建一个新池。例如,如果我将池大小设置为 3,则到应用程序的 2 个连接会导致 6 个连接,直到应用程序关闭。

预期的行为是在每个事务之后简单地关闭或重用连接。我怎样才能做到这一点?