DBCP2数据源配置含义说明[转]

dbcp官网:http://commons.apache.org/proper/commons-dbcp/download_dbcp.cgi

文档:http://commons.apache.org/proper/commons-dbcp/configuration.html 

 

BasicDataSource Configuration 配置参数

ParameterDescripton
username用来建立jdbc连接的用户名
password用来建立jdbc连接的密码
url建立连接的url
driverClassNamejdbc driver className
connectionProperties连接使用的properties.使用的格式必须是[propertyName=property;]*

properties配置:

ParameterdefaultDescription
defaultAutoCommitdriver default这个连接池默认的自动提交状态.如果没有设置,setAutoCommit方法不会被调用
defaultReadOnlydriver default这个连接池默认的读写状态。如果没有设置,setReadOnly方法就不会调用(一些数据库不支持readOnly模式,比如informix)
defaultTransactionIsolationdriver default默认的隔离级别.必须是其中一个(NONE,READ_COMMITTED,READ_UNCOMMITTED,REPEATABLE_READ,SERIALIZABLE)
defaultCatalog 连接池默认创建的连接数
cacheStatetrue如果是true, 连接池将会缓存readOnly和auto Commit配置,在第一次进行读或者写的时候.这会减少以后的数据库查询.如果获取连接后,这个连接自己设置readOnly和自动提交设置,这些配置不会影响到当前中的配置。在这种情况下,如果我们想要这种设置生效,caching应该把这个设置成disable.
defaultQueryTimeoutnull如果不是null,这个Integer的value将会用来衡量timeout,从连接创建时就开始计算。null意味着driver default将会被使用.
enableAutocommitOnReturntrue如果是true,连接如果返回到池的时候,将会检查是否被设置成了autoAutoCommit为false,那么就会调用Connection.setAutoCommit(true)
roolbackOnReturntrueTrue意味着如果设置了autoCommit为false和readonly胃false的时候,当回到连接池的时候就回滚

ParameterDefaultDescription
initialSize0连接池创建的时候,建立的连接数.从1.2起
maxTotal8一个时间最大的活跃连接数,负数代表没有上限
maxIdle8最大的idle保持数,其他的将会释放,负数代表没有上限
minIdle0最小的idle保持数,其他的将会被创建,0代表不保持
maxWaitMillisindefinitely获取连接最大等待时间,-1代表一直等

ParameterDefaultDescription
validationQuery 在返回连接前,是否进行验证。如果使用,必须使用一个SQL SELECT返回至少一行.如果没有配置,连接调用isValid()方法.
validationQueryTimeoutno timeout连接验证超时的秒数,如果设置为正数,将会用来验证连接的sql执行
testOnCreatefalse在连接创建时,是否进行验证。如果验证失败,从连接池获取就会失败.
testOnBorrowtrue在从池中借连接的时候是否验证。如果验证失败,就会放弃这个连接,试图获取另外一个.
testOnReturntrue在返回连接给连接池的时候,是否进行验证.
testWhileIdlefalse空闲连接是否进行验证,如果失败,就会从连接池去除.
timeBetweenEvictionRunsMillis-1空闲连接验证执行的时间间隔,负数将会代表不会执行
numTestsPerEvictionRun3执行空闲连接验证的线程数.
minEvictableIdleTimeMillis1000 * 60 * 30空闲保持时间,在这时间之后再进行空闲验证
softMinEvictableIdleTimeMillis-1这个是空闲保持时间的软限制,如果设置最小空闲保持时间(这时候不考虑需要保持空闲连接数),则先和最小空闲保持时间对比,再和这个参数比。
maxConnLifetimeMillis-1连接最大的生命时间。如果超过了这个时间,那么在下次活跃,不活跃或者验证测试的时候就会失败。0或者小于0代表连接没有生命上限
logExpiredConnectionstrue是否记录超时的连接数
connectionInitSqlsnull建立连接的时候调用的sql,只有在connection fatory创建的时候调用
lifotrue这个一个队列模式lifo(last in first out)。如果设置为false,则为FIFO

ParameterDefaultDescription
accessToUnderlyingConnectionAllowedfalse是否可以PoolGuard可以获取底层连接
removeAbandonedOnMaintenance removeAbandonedOnBorrowfalse这个是用来保证应用程序关闭连接失败的情况。在超时不使用并且超过抛弃时间后就会被抛弃掉。条件超时,还有其他条件:getNumActive() > getMaxTotal() - 3; and getNumIdle() < 2
removeAbandonedTimeout300抛弃的时间
logAbandonedfalse是否记录abandoned的日志
abandonedUsageTrackingfalse是否记录trace,debug的时候比较有用
fastFailValidationfalse这个设置为true的时候,validation快速失败当connection抛出fatal SqlException的时候。当对一个已经关闭的连接发出isValid方法和一个合法query的时候,就会快速失败.SQL_STATE默认是:(57P01 (ADMIN SHUTDOWN) 57P02 (CRASH SHUTDOWN) 57P03 (CANNOT CONNECT NOW) 01002 (SQL92 disconnect error) JZ0C0 (Sybase disconnect error) JZ0C1 (Sybase disconnect error) Any SQL_STATE code that starts with “08”) 可以通过设置disconnectionSqlCodes属性进行override
disconnectionSqlCodesnull配合fastValidation使用,用来设置需要包括的sql_state
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值