Cannot get a connection, pool exhausted解决办法 maxActive、maxIdle和maxWait

 maxActive、maxIdle 建议设置 maxActive="300" maxIdle="50"

maxActive 设置在300-1000之间

maxIdle   设置在 20-100 之间

还有就是在程序的 finally 里面要关闭 Connection

例如: DbHelper.closedAll(rs, ps, conn);

 

maxIdle,最大空闲数,数据库连接的最大空闲时间。超过空闲时间,数据库连
接将被标记为不可用,然后被释放。设为0表示无限制。
MaxActive,连接池的最大数据库连接数。设为0表示无限制。
maxWait ,最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示
无限制。

*maxActive:最大连接数据库连接数,设 0 为没有限制
*maxIdle:最大等待连接中的数量,设 0 为没有限制
*maxWait:最大等待毫秒数, 单位为 ms, 超过时间会出错误信息

一般把maxActive设置成可能的并发量就行了

maxActive、maxIdle和maxWait参数:


maxActive是最大激活连接数,这里取值为20,表示同时最多有20个数据库连 
 接。maxIdle是最大的空闲连接数,这里取值为20,表示即使没有数据库连接时依然可以保持20空闲的

连接,而不被清除,随时处于待命状态。MaxWait是最大等待秒钟数,这里取值-1,表示无限等待,直到

超时为止


来源本人博客:http://yijianfengvip.blog.163.com/blog/static/175273432201201222133793/


你可能感兴趣的:(数据库,Connection,get,pool,cannot,exhausted,a)