当前位置:网站首页>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的活动连接。
边栏推荐
猜你喜欢
随机推荐
新建STM32F407ZG Keil5项目
【从零设计 LaTex 模板】1. 一些基础知识
ASP.NET连接SQL Server的步骤
AR Foundation Editor Remote插件使用方法
51单片机教室人数进出统计检测数码管显示装置红外传感器
mkfs.minix.c之minix_super_block.s_nzones获取解析
STM32F407ZG GPIO输出相关实验
STM32F407ZG PWM
STM32F407ZG TIM通用定时器
探究乱码问题的本源:GBK,UTF8,UTF16,UTF8BOM,ASN1之间的关联
8个问题轻松掌握Unity前向渲染
STM32F407ZG 串口通信+固定帧头帧尾传输数据帧
每日刷题(day01)——leetcode 53. 最大子数组和
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)
优先级队列,大小顶堆PriorityQueue
Notes for RNN
解析树字符串并输出中序遍历
2021-04-15 jacoco代码覆盖率统计和白盒测试
剑指 Offer(第 2 版)7/7 14-17
STM32F407ZG 看门狗 IWDG & WWDG









