我有一个使用c3p0进行连接池的应用程序.当连接到数据库时出现任何问题时,我会收到如下异常:

java.sql.SQLException: An SQLException was provoked by the following failure:

com.mchange.v2.resourcepool.ResourcePoolException: A ResourcePool cannot acquire

a new resource -- the factory or source appears to be down.

at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106)

at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:65)

at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:62)

at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:531)

at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)

at com.pontiflex.monitor.dao.ConnectionManager.getConfigReadOnlyDbConnection(Unknown Source)

at com.pontiflex.monitor.dao.MonitorServiceDAO.getLiveIOCountForOrganization(Unknown Source) at com.pontiflex.monitor.BillingMonitor.getComparisonValueForActivation(Unknown Source)

at com.pontiflex.monitor.AbstractMonitor.isMonitoringActive(Unknown Source)

at com.pontiflex.monitor.AbstractMonitor.generateAlerts(Unknown Source)

at com.pontiflex.monitor.AbstractMonitor.doMonitoring(Unknown Source)

at com.pontiflex.monitor.worker.MonitorWorker.run(Unknown Source)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)

at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)

at java.lang.Thread.run(Thread.java:662)

Caused by: com.mchange.v2.resourcepool.ResourcePoolException: A ResourcePool cannot

acquire a new resource -- the factory or source appears to be down.

at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1279)

at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:557)

at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:477)

at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:525)

... 14 more

无论是网络连接问题,服务器问题(连接太多)还是配置问题,都会出现同样的异常.如果我打开mysql jdbc驱动程序和c3p0的调试日志记录,我会获得更多信息:

WARN com.mchange.v2.resourcepool.BasicResourcePool

com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@4e074784 --

Acquisition Attempt Failed!!! Clearing pending acquires. While trying

to acquire a needed new resource, we failed to succeed more than the

maximum number of allowed acquisition attempts (30). Last acquisition

attempt exception:

com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Data

source rejected establishment of connection, message from server:

"Too many connections"

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:921)

at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1070)

at com.mysql.jdbc.Connection.createNewIO(Connection.java:2775)

at com.mysql.jdbc.Connection.(Connection.java:1555)

at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)

at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:135)

at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)

at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)

at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)

at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)

at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)

at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)

at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)

有什么办法可以让c3p0在没有调整记录器配置的情况下抛出ResourcePoolException时给出根本原因?

mysql c3p0 释放连接池_mysql – 如何阻止c3p0连接池隐藏连接异常的原因?相关推荐

  1. mysql 事b务 查询_MySQL进阶学习笔记二(包括连接查询、子查询、联合查询、事务、存储过程)...

    1.高级查询 (1)了解笛卡尔积:笛卡尔乘积是指在数学中,两个集合X和Y的笛卡尔积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序 ...

  2. mysql查看远程密码修改_MySQL如何修改密码并添加远程连接权限 | Visant-i 行客

    一.最简单的方法 天天快3登入首页常规设置项,直接点击"修改密码"即可 二.服务器命令 修改密码命令: 1.如果你的root用户没有密码,那么修改命令是: mysqladmin - ...

  3. mysql中flush什么意思_mysql - Flush语法

    今天仔细看了下Flush语法,同时在工作中也经常使用Flush命令,在这儿汇总下.MySQL的FLUSH句法(清除或者重新加载内部缓存) FLUSH flush_option [,flush_opti ...

  4. mysql连接池_数据库技术:数据库连接池,Commons DbUtils,批处理,元数据

    Database Connection Pool Introduction to Database Connection Pool 实际开发中"获得连接"或"释放资源&q ...

  5. mysql数据库连接池_MySql数据库连接池

    1.传统链接(如下为示意图) 注意: (1).传统方式找DriverManager要连接,数目是有限的. (2).传统方式的close(),并没有将Connection重用,只是切断应用程序和数据库的 ...

  6. C3P0 释放连接 的问题

    2019独角兽企业重金招聘Python工程师标准>>> 记录一下使用C3P0 时犯的低级错误,没有关闭connection 达到连接池最大限制后造成程序假死的现象,以后得仔细再仔细了 ...

  7. mysql长时间后断开_mysql 长时间没连接了 就会自动断开服务

    这是因为mysql 长时间没连接了 就会自动断开服务. 解决办法 1.首先,下载必须的jar包 dbcp 包,目前版本是1.2.1:http://jakarta.apache.org/commons/ ...

  8. 怎样知道mysql的驱动是什么_MySQL连接查询到底什么是驱动表?看了这里你应该就明白了...

    作者:阿伟~ 链接:https://www.cnblogs.com/sy270321/p/12760211.html 准备我们需要的表结构和数据 两张表 studnet(学生)表和score(成绩)表 ...

  9. mysql连接池和最大连接数_数据库连接池和mysql的最大连接数的区别

    什么叫做数据库连接池 连接池的作用是什么? 数据库连接池,简称dbcp database connection pool 存在意义: 数据库的连接是非常耗费系统资源的,一个应用通常都是需要与数据库打交 ...

  10. mysql中字符串拼接函数_MySQL字符串连接函数

    一.CONCAT(str1,str2,-) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. select concat(s_id, "--", ...

最新文章

  1. 7-8 Windows消息队列 (25 分)
  2. 软件专业人才应具备四种素质
  3. 【开源项目】Socket服务端与客户端传输视频文件
  4. 工业交换机故障分析的原则
  5. Android开发之 shape的使用
  6. IT168技术开发频道一周精选2007-11-30
  7. 【持续更新】总结国内外图形学物理模拟相关学者和网站
  8. hg8546m虚拟服务器,华为HG8546路由及WIFI配置说明
  9. SuiteCRM中的控制器
  10. ansys中模态扩展是什么意思_ANSYS模态分析教程与实例讲解.ppt
  11. 基于ROS的AGV运动控制与状态记录(维嵌科技)
  12. 使用HBuilder mui将图片保存到手机相册(移动端将图片、文件保存至手机相册)
  13. conda 配置R虚拟环境并安装 monocle 包
  14. python实验楼工资计算器_挑战:完善工资计算器
  15. win10安装并配置node.js
  16. Visio2013 取消箭头的自动连接
  17. python情人节之玫瑰花与表白方式
  18. 微信小程序页面间传值方法
  19. 【蓝桥杯】2015初赛 三羊献瑞
  20. toad for oracle 11g 下载,Toad For Oracle

热门文章

  1. 深入Webpack-编写Loader
  2. javascript的笔记精简版
  3. 一起谈.NET技术,ASP.NET Routing对请求的处理方式
  4. 26.逻辑卷管理器(Logical Volume Manager)
  5. 5. Web 的结构组件
  6. 79. 基于 PHP 的用户认证
  7. 10. Javascript DOM节点
  8. PADS 改变图纸和图页边界大小
  9. fread函数将二进制文件读入成矩阵形式
  10. Win7+Ubuntu双系统时间不一致