历史版本24 :数据连接高级设置 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

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

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,对空闲的连接不进行验证

最大活动连接数设置超过数据库中的连接数目,只能按照数据库中的连接数目为准,如想调至最大,则也要调整数据库中的连接数目,参考文档连接池满问题中的解决方案。