From d9c82cb722ecc2b288b53a9b0735572d809862b6 Mon Sep 17 00:00:00 2001 From: ZhangZiSheng001 <18826241741@163.com> Date: Tue, 17 Dec 2019 22:05:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 45 +++++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index afc8611..c870f6e 100644 --- a/README.md +++ b/README.md @@ -13,13 +13,14 @@ * [配置文件详解](#配置文件详解) * [数据库连接参数](#数据库连接参数) * [连接池数据基本参数](#连接池数据基本参数) + * [连接存活参数](#连接存活参数) * [连接检查参数](#连接检查参数) * [缓存语句](#缓存语句) * [事务相关参数](#事务相关参数) * [连接泄漏回收参数](#连接泄漏回收参数) * [其他](#其他) * [源码分析](#源码分析) - * [数据源创建](#数据源创建) + * [创建数据源](#创建数据源) * [`BasicDataSource.getConnection()`](#basicdatasourcegetconnection) * [`BasicDataSource.createDataSource()`](#basicdatasourcecreatedatasource) * [获取连接对象](#获取连接对象) @@ -247,15 +248,28 @@ maxIdle=8 #注意:需要开启空闲对象回收器,这个参数才能生效。 #默认为0 minIdle=0 - +``` +## 连接存活参数 +```properties #最大等待时间 #当没有可用连接时,连接池等待连接被归还的最大时间(以毫秒计数),超过时间则抛出异常,如果设置为<=0表示无限等待 #默认-1 maxWaitMillis=-1 + +#资源池中资源最小空闲时间(单位为毫秒),达到此值后将被移除。 +#默认值1000*60*30 = 30分钟 +minEvictableIdleTimeMillis=1800000 + +#资源池中资源最小空闲时间(单位为毫秒),达到此值后将被移除。但是会保证minIdle +#默认值-1 +#softMinEvictableIdleTimeMillis=-1 + +#连接最大存活时间。非正数表示不限制 +#默认-1 +maxConnLifetimeMillis=-1 ``` ## 连接检查参数 - 针对连接失效和连接泄露的问题,建议开启空闲资源回收器。 ```properties @@ -288,27 +302,10 @@ timeBetweenEvictionRunsMillis=-1 #默认3,单位毫秒。如果设置为-1,就是对所有连接做空闲监测。 numTestsPerEvictionRun=3 -#资源池中资源最小空闲时间(单位为毫秒),达到此值后将被移除。 -#默认值1000*60*30 = 30分钟 -minEvictableIdleTimeMillis=1800000 - -#资源池中资源最小空闲时间(单位为毫秒),达到此值后将被移除。但是会保证minIdle -#默认值-1 -#softMinEvictableIdleTimeMillis=-1 - #空闲对象回收器的回收策略 #默认org.apache.commons.pool2.impl.DefaultEvictionPolicy #如果要自定义的话,需要实现EvictionPolicy重写evict方法 evictionPolicyClassName=org.apache.commons.pool2.impl.DefaultEvictionPolicy - -#连接最大存活时间。非正数表示不限制 -#默认-1 -maxConnLifetimeMillis=-1 - -#当达到maxConnLifetimeMillis被关闭时,是否打印相关消息 -#默认true -#注意:maxConnLifetimeMillis设置为正数时,这个参数才有效 -logExpiredConnections=true ``` ## 缓存语句 @@ -401,7 +398,11 @@ abandonedUsageTracking=false 这部分参数比较少用。 ```properties -#-------------其他-------------------------------- +#当达到maxConnLifetimeMillis被关闭时,是否打印相关消息 +#默认true +#注意:maxConnLifetimeMillis设置为正数时,这个参数才有效 +logExpiredConnections=true + #是否使用快速失败机制 #默认为空,由驱动决定 fastFailValidation=false @@ -447,7 +448,7 @@ accessToUnderlyingConnectionAllowed=false 注意:考虑篇幅和可读性,以下代码经过删减,仅保留所需部分。 -## 数据源创建 +## 创建数据源 研究数据源创建之前,先来看下`DBCP`的几种数据源: 类名|描述