当前位置:网站首页>mysql连接报错:Cannot get a connection, pool error Timeout waiting for idle object
mysql连接报错:Cannot get a connection, pool error Timeout waiting for idle object
2022-08-10 05:36:00 【yeah_you_are】
报错内容:commons.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting for idle object
在我的程序中多线程从数据库连接池中拿连接对象时,出现这个错误。翻译成中文就是,无法获得连接对象,数据池出现错误,等待空闲对象超时。
解决办法
等待空闲的连接对象超时,那么可以考虑两种解决办法,将等待空闲连接对象的等待时间加长,允许程序更长的等待时间而避免错误。另一种办法就是设法增加连接池中可用的连接对象,避免程序在获取连接对象时陷入等待的境地。
其实第一种方法只能暂时避免报错信息,第二种办法才是解决问题的有效办法,尤其多线程获取数据池连接对象的情况下,应该尽量将活跃连接对象数量大于等于活跃线程的数量,从而保证连接对象足够充裕。
以下是数据池相关参数的配置信息。
maxActive 连接池支持的最大连接数,这里取值为20,表示同时最多有20个数据库连接。设 0 为没有限制。
maxIdle 连接池中最多可空闲maxIdle个连接 ,这里取值为20,表示即使没有数据库连接时依然可以保持20空闲的连接,而不被清除,随时处于待命状态。设 0 为没有限制。
minIdle 连接池中最少空闲maxIdle个连接
initialSize 初始化连接数目
maxWait 连接池中连接用完时,新的请求等待时间,毫秒,这里取值-1,表示无限等待,直到超时为止,也可取值9000,表示9秒后超时。超过时间会出错误信息一般把maxActive设置成可能的并发量就行了
timeBetweenEvictionRunsMillis timeBetweenEvictionRunsMillis和minEvictableIdleTimeMillis一起使用,每
timeBetweenEvictionRunsMillis毫秒秒检查一次连接池中空闲的连接,把空闲时间超过minEvictableIdleTimeMillis毫秒的连接断开,直到连接池中的连接数到minIdle为止
minEvictableIdleTimeMillis 连接池中连接可空闲的时间,毫秒
removeAbandoned true,false,是否清理removeAbandonedTimeout秒没有使用的活动连接,清理后并没有放回连接池
removeAbandonedTimeout 活动连接的最大空闲时间
logAbandoned true,false,连接池收回空闲的活动连接时是否打印消息
minEvictableIdleTimeMillis,removeAbandonedTimeout这两个参数针对的连接对象不一样,minEvictableIdleTimeMillis针对连接池中的连接对象,removeAbandonedTimeout针对未被close的活动连接。
边栏推荐
猜你喜欢
pytorch-11. Convolutional Neural Network (Advanced)
电路建模的要点
【接口自动化】
ASP.NET连接SQL Server的步骤
详解样条曲线(上)(包含贝塞尔曲线)
51单片机教室人数进出统计检测数码管显示装置红外传感器
Explain the principle of MySql index in detail
LeetCode refers to the offer 21. Adjust the order of the array so that the odd numbers are in front of the even numbers (simple)
浅谈游戏中3种常用阴影渲染技术(1):平面阴影
手机端应用类型
随机推荐
钴镍回收树脂的工艺原理
离散数学的学习记录
Notes for SVM
Notes for Netual Network
Notes for RNN and Decision Tree
C陷阱与缺陷 个人阅读笔记
电路建模的要点
剑指 Offer(第 2 版)7/4 1-4
多线程与多进程(概念详细讲解)
8个问题轻松掌握Unity前向渲染
过大数组导致爆栈的解决方法记录(堆栈)
二维卷积定理的验证(下,cv2.filter2D())
Notes for RNN
酸回收树脂工艺技术详解
2021-04-15 jacoco代码覆盖率统计和白盒测试
二次元卡通渲染之描边
LeetCode 938. Range Sum of Binary Search Trees (Simple)
LeetCode 1894. Find the student number that needs to be supplemented with chalk
clickhouse出现数据重复问题
作为测试,常用的adb命令