当前位置:网站首页>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的活动连接。
边栏推荐
猜你喜欢

电路建模的要点

51单片机智能蓝牙APP加油站火灾预警安防防控报警监控系统MQ2DHT11

Pytorch - 07. Multidimensional characteristics of input processing

在Unity的Update中通过物体自身位置判断运动方向

C陷阱与缺陷 个人阅读笔记

mysql使用常见问题和解决

pytorch-10. Convolutional Neural Networks (homework)

LeetCode Interview Question 17.14 Minimum k Number (Moderate)

Explain the principle of MySql index in detail

三种素数筛总结——(朴素筛,埃氏筛,线性筛)
随机推荐
pytorch-06. Logistic regression
系统架构和问题定位
.Net Core imports tens of millions of data to Mysql
STM32单片机手机APP蓝牙高亮RGB彩灯控制板任意颜色亮度调光
C#对MySQL数据库进行增删改查操作(该操作还有防止MySQL注入功能)
Linux的文件IO与标准IO,以及IO缓存
PyTorch的安装与基础知识
计算数字区间中数字出现次数
mkfs.minix.c之minix_super_block.s_nzones获取解析
Radon 变换原理和应用
二叉树 6/20 86-90
STM32F407ZG TIM通用定时器
【fiddler3】使用fiddler设置弱网模式
LeetCode refers to offer 10-I. Fibonacci sequence (simple)
8个问题轻松掌握Unity前向渲染
常用模块封装-csv文件操作封装
pytorch-05. Implementing linear regression with pytorch
内核性能分析总结
Gradle学习 (一) 入门
一小时极速掌握游戏资源远程热更新