common-dbcp2数据库链接池参数说明

参数 默认值 描述 建议值
DefaultAutoCommit
 null  
经过这个池建立链接的默认自动提交状态。若是不设置,则setAutoCommit 方法将不被调用。
 true
 
DefaultReadOnly
 null
经过这个池建立链接的默认只读状态。若是不设置,则setReadOnly  方法将不被调用。(部分驱动不支持只读模式,如:Informix)
 
 false
 
DefaultTransactionIsolation
-1   
经过这个池建立链接的默认事务策略,设置值为下列中的某一个:Connection.TRANSACTION_READ_COMMITTED 
NONE、READ_COMMITTED、READ_UNCOMMITTED、REPEATABLE_READ、SERIALIZABLE、
Connection.TRANSACTION_READ_COMMITTED
 
 
DefaultCatalog
null   
经过这个池建立链接的默认缺省的catalog
 
 
CacheState
true   
//若是设置为true,池化的链接将在第一次读或写,以及随后的写的时候缓存当前的只读状态和自动提交设置。
// 这样就省去了对getter的任何进一步的调用时对数据库的额外查询。
// 若是直接访问底层链接,只读状态和/或自动提交设置改变缓存值将不会被反映到当前的状态,在这种状况下,应该将该属性设置为false以禁用缓存。
 
       
InitialSize
0
当这个池被启动时初始化的建立的链接个数
 10
MaxTotal
8  
能够在这个池中同时被分配的有效链接数的最大值,如设置为负数,则不限制
 100
MaxIdle
8  
能够在池中保持空闲的最大链接数,超出设置值以外的空闲链接将被回收,如设置为负数,则不限制
20 
MinIdle
 0  
能够在池中保持空闲的最小链接数,超出设置值以外的空闲链接将被建立,如设置为0,则不建立
10
MaxWaitMillis
 -1
(若是没有可用链接)池在抛出异常前等待的一个链接被归还的最大毫秒数,设置为-1则等待时间不肯定
 
 500
ValidationQuery
null 
在链接池返回链接给调用者前用来进行链接校验的查询sql。
若是指定,则这个查询必须是一个至少返回一行数据的SQL SELECT语句。
若是没有指定,则链接将经过调用isValid() 方法进行校验。
 
SELECT 1 FROM DUAL
TestOnCreate
 false  
指明对象在建立后是否须要被校验,若是对象校验失败,则触发对象建立的租借尝试将失败。
 
TestOnBorrow
 true  
指明在从池中租借对象时是否要进行校验,若是对象校验失败,则对象将从池子释放,而后咱们将尝试租借另外一个
 
TestOnReturn
false  
指明在将对象归还给链接池前是否须要校验
 
TestWhileIdle
false   
指明对象是否须要经过对象驱逐者进行校验(若是有的话),假如一个对象校验失败,则对象将被从池中释放。
 true
TimeBetweenEvictionRunsMillis
-1   
空闲对象驱逐线程运行时的休眠毫秒数,若是设置为非正数,则不运行空闲对象驱逐线程
 
NumTestsPerEvictionRun
 3  
在每一个空闲对象驱逐线程运行过程当中中进行检查的对象个数。(若是有的话)
 
MinEvictableIdleTimeMillis
 
1000 * 60 * 30
 
符合对象驱逐对象驱逐条件的对象在池中最小空闲毫秒总数(若是有的话)
 
SoftMinEvictableIdleTimeMillis
 -1  
符合对象驱逐对象驱逐条件的对象在池中最小空闲毫秒总数,额外的条件是池中至少保留有minIdle所指定的个数的链接。
当miniEvictableIdleTimeMillis 被设置为一个正数,空闲链接驱逐者首先检测miniEvictableIdleTimeMillis,
当空闲链接被驱逐者访问时,首先与miniEvictableIdleTimeMillis 所指定的值进行比较(而不考虑当前池中的空闲链接数),
而后比较softMinEvictableIdleTimeMillis所指定的链接数,包括minIdle条件。
 
MaxConnLifetimeMillis
 -1  
一个链接的最大存活毫秒数。若是超过这个时间,则链接在下次激活、钝化、校验时都将会失败。若是设置为0或小于0的值,则链接的存活时间是无限的。
 
ConnectionInitSqls
 null  
在第一次建立时用来初始化物理链接的SQL语句集合。这些语句只在配置的链接工厂建立链接时被执行一次。
 
Lifo
 true  
设置为true代表链接池(若是池中有可用的空闲链接时)将返回最后一次使用的租借对象(最后进入)。
设置为false则代表池将表现为FIFO队列——将会按照它们被归还的顺序从空闲链接实例池中获取链接
 
PoolPreparedStatements
 false  
设置该链接池的预处理语句池是否生效
 
MaxOpenPreparedStatements
 -1  
能够在语句池中同时分配的最大语句数。设置为负数则不限制
 
AccessToUnderlyingConnectionAllowed
 false  
控制PoolGuard是否能够访问底层链接
 
RemoveAbandonedOnBorrow
 
 false  
//标记是否删除超过removeAbandonedTimout所指定时间的被遗弃的链接。
//若是设置为true,则一个链接在超过removeAbandonedTimeout所设定的时间未使用即被认为是应该被抛弃并应该被移除的。
建立一个语句,预处理语句,可调用语句或使用它们其中的一个执行查询(使用执行方法中的某一个)会从新设置其父链接的lastUsed 属性。
//在写操做较少的应用程序中将该参数设置为true能够将数据库链接从链接关闭失败中恢复。
 
 
RemoveAbandonedTimeout
 300
一个被抛弃链接能够被移除的超时时间,单位为秒
 
 
 
LogAbandoned
 false  
标志是否为应用程序中遗弃语句或链接的代码开启日志堆栈追踪。由于一个堆栈跟踪已被建立,被抛弃的语句和链接相关的日志将被覆盖到打开每一个链接或者建立一个Statement时
相关文章
相关标签/搜索