数据库连接资源释放

Posted 异或随心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库连接资源释放相关的知识,希望对你有一定的参考价值。

项目运行过程中遇到了tomcat连接池资源不释放,导致系统崩溃的问题。
   查找各种网站,在数据库中进行如下配置 (tomcat):
 
1、initialSize :连接池启动时创建的初始化连接数量
2、maxActive :连接池中可同时连接的最大的连接数
3、maxIdle:连接池中最大的空闲的连接数,超过的空闲连接将被释放,如果设置为负数表示不限制
4、minIdle:连接池中最小的空闲的连接数,低于这个数量会被创建新的连接
5、maxWait  :最大等待时间,当没有可用连接时,连接池等待连接释放的最大时间,超过该时间限制会抛出异        常,如果设置-1表示无限等待
6、poolPreparedStatements:开启池的prepared
7、maxOpenPreparedStatements:开启池的prepared 后的同时最大连接数
8、minEvictableIdleTimeMillis  :连接池中连接,在时间段内一直空闲, 被逐出连接池的时间
    (默认为30分钟,可以适当做调整,需要和后端服务端的策略配置相关)
9、removeAbandonedTimeout  :超过时间限制,回收没有用(废弃)的连接(默认为 300秒,调整为180)
10、removeAbandoned  :超过removeAbandonedTimeout时间后,关闭不用的资源(默认为false,调整为true)
以上参数主要是为了解决事务控制没有加或者数据库存在死锁情况。

以上是关于数据库连接资源释放的主要内容,如果未能解决你的问题,请参考以下文章

c3p0数据库连接池 原创: Java之行 Java之行 5月8日 连接池概述 实际开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程

数据库连接池原理分析及模拟实现

oracle连接数如何自动自动释放

Spring练习,使用Properties类型注入方式,注入MySQL数据库连接的基本信息,然后使用JDBC方式连接数据库,模拟执行业务代码后释放资源,最后在控制台输出打印结果。

数据库连接池和线程池

Closeable释放资源