连接池属性

编辑
文档创建者:文档助手1 (67727 )     浏览次数:5983次     编辑次数:20次     最近更新:caixiaolan 于 2016-12-13     

1. 问题描述编辑

FR连接池属性,使用的是DBCP连接池,下面介绍其设置方法及其属性中各参数的意义;如果访问模板时,报连接超时、等待状态,警告如下:
警告:Cannot get a connection, pool error Timeout waiting for idle object at com.fr.third.org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:114) at com.fr.third.org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) at com.fr.data.pool.MemoryConnection.create(Unknown Source) at com.fr.data.impl.JDBCDatabaseConnection.createConnection(Unknown Source)
则需要把相应连接数调大。

2. 设置方法编辑

点击服务器>定义数据连接,如下图所示,点击连接池属性,弹出连接池属性编辑框,调整最大活动连接数
222
这里的信息都保存在%FR_HOME%\WebReport\WEB-INF\resources\datasource.xml文件下:
<DBCPAttr
initialSize="1"
maxActive="200"
maxIdle="100"
minIdle="2"
maxWait="1000"
validationQuery="q"
testOnBorrow="false"
testOnReturn="true"
testWhileIdle="true"
timeBetweenEvictionRunsMillis="1000"
numTestsPerEvictionRun="2"
minEvictableIdleTimeMillis="18005000"/>

3. 参数说明编辑

名称  举例  含义  
初始化连接数initialSize="1"初始化线程数,开始自动建立一个与数据库的连接
最大活动连接数maxActive="200"可以从对象池中取出的对象最大个数,为0表示没有限制
最大空闲连接数maxIdle="100"最大等待连接中的数量,设为负数则没有限制(对象池中对象最大个数)
最小空闲连接数minIdle="2"对象池中对象最小个数
最大等待时间(毫秒)maxWait="1000"最大等待时间,单位为ms,超出时间会丢出错误信息
SQL验证查询validationQuery="SQL语句"验证连接是否成功,SQL和SELECT指令至少要返回一行
获取连接前检验testOnBorrow="false"取得对象时是否进行验证,检查对象是否有效,默认为false
归还连接前检验testOnReturn="true"返回对象时是否进行验证,检查对象是否有效,默认为false
开启空闲回收器检验testWhileIdle="true"空闲时是否进行验证,检查对象是否有效,默认为false
空闲连接回收器休眠时间(毫秒)timeBetweenEvictionRunsMillis="1000"失效检查线程运行时间间隔,如果小于等于0,不会启动检查线程
空闲连接回收检查数numTestsPerEvictionRun="2"失效检查线程运行次数
保持空闲最小时间minEvictableIdleTimeMillis="18005000"大于0,进行连接空闲时间判断,或为0,对空闲的连接不进行验证
最大活动连接数设置超过数据库中的连接数目,只能按照数据库中的连接数目为准,如想调至最大,则也要调整数据库中的连接数目,参考文档连接池满问题中的解决方案。

附件列表


主题: 数据连接
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,请咨询帆软技术支持
关于技术问题,您还可以通过帆软论坛获取帮助,论坛上有非常多的大神,有些水平比帆软工程师还要高哦。
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

此页面有帮助吗?