DBCP(Database connection pooling) 是 Apache 旗下 Commons 项目下的一个子项目,提供连接池功能;本文主要介绍 DBCP 的基本使用,文中使用到的软件版本:Java 1.8.0_191、DBCP 2.9.0、Spring Boot 2.3.12.RELEASE。
参数 描述 username 用户名 password 密码 url 连接 url driverClassName 驱动名称 connectionProperties
参数 默认值 描述 defaultAutoCommit 驱动的默认值 是否自动提交 defaultReadOnly 驱动的默认值 是否只读 defaultTransactionIsolation 驱动的默认值 defaultCatalog cacheState true 是否缓存状态信息 defaultQueryTimeout null 默认查询时间 enableAutoCommitOnReturn true 连接归还到池时,是否设置为自动提交 rollbackOnReturn true
参数 默认值 描述 initialSize 0 初始连接数 maxTotal 8 最大连接数;负数表示没有限制 maxIdle 8 最大空闲连接数,多余的空闲连接将被释放;负数表示没有限制 minIdle 0 最小空闲连接数,如果不足则新的空闲连接将被创建。 maxWaitMillis indefinitely 从连接池获取连接,最大等待时间,超过该时间将抛出异常;-1 表示无限期
参数 默认值 描述 validationQuery validationQueryTimeout no timeout 验证查询超时时间(秒)。如果设置为正数,那么通过 setQueryTimeOut()方法来设置查询的超时时间。 testOnCreate false 连接创建后,是否验证有效性 testOnBorrow true 从连接池获取连接时,是否验证有效性 testOnReturn false 连接返回连接池时,是否验证有效性 testWhileIdle false 连接空闲时,是否验证有效性;如果验证失败,则丢弃该连接。 timeBetweenEvictionRunsMillis -1 校验空闲连接的时间周期,非正表示不验证 numTestsPerEvictionRun 3 每次校验空闲连接的个数 minEvictableIdleTimeMillis 1000 * 60 * 30 空闲连接至少多长时间后,才会被校验 softMinEvictableIdleTimeMillis -1 空闲连接至少多长时间后,才会被校验;还需满足"空闲连接数>=minIdle" maxConnLifetimeMillis -1 连接存活的最大时间;如果设置为非正数,则存活时间是无限的 logExpiredConnections true 过期的连接被连接池关闭时,是否写日志 connectionInitSqls null 连接第一次创建时,执行的初始化 SQL lifo true true 表示获取连接时将返回最后返还连接池的连接(后进先出);false,则相反(先进先出)。
参数 默认值 描述 poolPreparedStatements false 预编译语句是否池化 maxOpenPreparedStatements unlimited 最大打开的预处理语句,负数表示没有限制
参数 默认值 描述 accessToUnderlyingConnectionAllowed false 是否允许访问底层连接
如果允许,可以使用下面的代码来访问底层连接:
参数 默认值 描述 removeAbandonedOnMaintenance
removeAbandonedOnBorrow
false removeAbandonedTimeout 300 连接泄露的超时时间(秒) logAbandoned false 连接删除时是否打印堆栈信息 abandonedUsageTracking false 如果设置为 true,数据库连接每执行一个方法都会打印堆栈信息
removeAbandonedOnBorrow
false removeAbandonedTimeout 300 连接泄露的超时时间(秒) logAbandoned false 连接删除时是否打印堆栈信息 abandonedUsageTracking false 如果设置为 true,数据库连接每执行一个方法都会打印堆栈信息
参数 默认值 描述 fastFailValidation false disconnectionSqlCodes null 自定义异常代码 jmxName 注册连接池的 jmx 名称
详细的配置说明可参考官网文档:http://commons.apache.org/proper/commons-dbcp/configuration.html。
2.1.1、引入依赖
2.1.2、使用例子
2.2.1、引入依赖
2.2.2、单数据源
application.yml 配置:
使用:
2.2.3、多数据源
application.yml 配置:
数据源配置类:
使用:
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/1978.html