参数 默认值 描述 建议值
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时
 
       

common-dbcp2数据库连接池参数说明的更多相关文章

  1. 使用ThreadLocal、Apache的dbutils的QueryRunner和dbcp2数据库连接池的BasicDataSource封装操作数据库工具

    package hjp.smart4j.framework.helper; import hjp.smart4j.framework.util.CollectionUtil; import hjp.s ...

  2. common-dbcp2数据库连接池参数说明(转)

    转自:http://bsr1983.iteye.com/blog/2092467 由于commons-dbcp所用的连接池出现版本升级,因此commons-dbcp2中的数据库池连接配置也发生了变化, ...

  3. springboot 多数据源(三种数据库连接池--JDBC,dbcp2,Druid)

    本文使用的是springboot2.0(在配置数据源时和springboot1.X略有区别) 首先:springboot默认支持的连接池有dbcp,dbcp2, tomcat, hikari四种连接池 ...

  4. 第15章—数据库连接池(DBCP2)

    spring boot 系列学习记录:http://www.cnblogs.com/jinxiaohang/p/8111057.html 码云源码地址:https://gitee.com/jinxia ...

  5. dbcp2连接池获取数据库连接Connection

    一.先来看看手工创建的方式 public static Connection getConnection() { Connection conn = null; try { Class.forName ...

  6. mysql数据库连接池使用(二)实现自己的数据库连接池

    上一个章节,我们讲了xml文件的解析框架XMLConfiguration的使用,不懂的可以参考 Apache Commons Configuration读取xml配置具体使用. 这个章节主要实现自己的 ...

  7. <十三>JDBC_dbcp数据库连接池

    配置文件:jdbc.properties username=rootpassword=kkdriverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql://1 ...

  8. 【Java EE 学习 16 上】【dbcp数据库连接池】【c3p0数据库连接池】

    一.回顾之前使用的动态代理的方式实现的数据库连接池: 代码: package day16.utils; import java.io.IOException; import java.lang.ref ...

  9. JDBC数据库连接池技术

    在JDBC中,获得连接或释放资源是非常消耗系统资源的两个过程,为了解决此类性能问题,通常采用连接池技术,来共享连接.这样我们就不需要每次都创建连接.释放连接了,这些操作都交给了连接池. 用池的概念来管 ...

随机推荐

  1. ajax select option 数据。为了下次方便信手拈来!!

    为了下次方便信手拈来!! 示例1 var form = document.forms["maddraddform"]; $(form.province).change(functi ...

  2. hibernate+mysql 自动生成数据库问题

    Hibernate Entity类 表名注解大写时,在windows下mysql自动生成的表都为小写(不区分大小写),在linux下mysql自动生成区分大小写.导致数据库问题. 原因(window下 ...

  3. codingNet项目的创建

    首先,在codingNet上面创建一个项目(一般情况下) 然后,在本地打开项目并添加到储存库 其次,提交代码到已经创建好的项目中(注意赋值远程存储库的路径)

  4. android六大框架

    -LinearLayout线性布局 垂直排序,每行仅包含一个界面元素 水平排序,每列仅包含一个界面元素 orientation,Layout-weight,Layout-margin(外边距,与屏幕) ...

  5. zabbix微信告警(虚拟机脚本测试成功,zabbix上收不到信息)

    前言: 使用zabbix直接运行脚本又可以正常接收.但是登录zabbix  web界面,测试!  动作显示已送达,但是微信并没有收到信息! 解决: 添加脚本参数,因为不添加脚本参数,调用不了你这个脚本 ...

  6. Centos 7下搭建WordPress

    1,首先安装MySQL. http://www.cnblogs.com/zyh120/p/6066983.html 2,继续安装httpd,php,php-mysql这3个服务. [root@loca ...

  7. eclipse开发环境搭建

    1.eclipse插件OpenExplorer快速打开文件目录 下载地址:https://github.com/samsonw/OpenExplorer/downloads 下载jar包,将jar包放 ...

  8. 自话自说——POI使用需要注意一个地方

    2015.12.1  天气 不怎么好   心情跟天气一样.知道为什么吗,因为昨晚一晚没睡你懂吗... 今天在用POI操作excel的时候,遇到了一个很恶心的地方,这个地方真的有那种让我不相信编程的感觉 ...

  9. 《python核心编程》笔记——系统限制

    输出当前系统关于数字的范围 import sys l = {} maxint = sys.maxint minint = -maxint maxlong = sys.maxsize minlong = ...

  10. 微信小程序免费SSL证书https、TLS版本问题的解决方案

    微信小程序与第三方服务器通讯的域名5个必要条件1.一个已备案的域名,不是localhost.也不是127.0.0.1,域名不能加端口2.加ssl证书,也就是https://~~~4.HTTPS 服务器 ...