历史版本29 :数据连接高级设置 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 概述编辑
1.1 版本
报表服务器版本 | 功能变动 |
---|---|
10.0.18 |
|
11.0.2 | 高级设置布局优化 |
1.2 功能简介
本文将介绍高级设置设置方法及其属性中各参数的意义。
连接池
fetchsize
2. 具体介绍编辑
2.1 高级设置
在连接 FineReport 时,用户可以在连接页面进行一些高级设置,平台和设计器都可以设置,如下图所示:
设计器高级设置
平台高级设置
2.2 连接池属性参数介绍
常用连接池属性
名称 | druid学名 | 默认值 | 含义 |
---|---|---|---|
最大活动连接数 | maxActive | 50 | 连接池在同一时间能够分配的最大活动连接的数量 |
校验语句 | validationQuery | 默认语句 | 用来检测连接是否有效的 SQL 语句,要求是一个查询语句,常用select 'x' 。用户可自定义该语句。 |
获取连接前检验 | testOnBorrow | 是 | 申请连接时执行 validationQuery 检测连接是否有效 |
最大等待时间 | maxWait | 10000 | 获取连接时最大等待时间,单位毫秒 |
不太常用的连接池属性(如无特殊场景不建议修改)
名称 | druid学名 | 默认值 | 含义 |
---|---|---|---|
初始化连接数 | initialSize | 0 | 初始化时建立物理连接的个数 |
最小空闲连接数 | minIdle | 0 | 连接池最小连接数量 |
归还连接前校验 | testOnReturn | 否 | 归还连接时执行validationQuery检测连接是否有效 |
开启空闲回收器校验 | testWhileIdle | 否 | 指明连接是否被空闲连接回收器(如果有)进行检验,如果检测失败,则连接将被从池中去除 |
空闲连接回收器休眠时间 | timeBetweenEvictionRunsMillis | -1 | 在空闲连接回收器线程运行期间休眠的时间值,以毫秒为单位 |
空闲连接回收检查数 | numTestPerEvictionRun | 3 | 在每次空闲连接回收器线程(如果有)运行时检查的连接数量 |
保持空闲最小时间值 | minEvictableIdleTimeMillis | 1800s | 连接保持空闲而不被驱逐的最小时间 |
最大活动连接数设置超过数据库中的连接数目,只能按照数据库中的连接数目为准,如想调至最大,则也要调整数据库中的连接数目,参考文档 连接池满问题 中的解决方案。
2.3 fetchsize 设置
当执行一个 SQL 查询语句的时候,需要在客户端和服务器端都打开一个游标,并且分别申请一块内存空间,作为存放查询的数据的一个缓冲区。这块内存区,存放多少条数据就由 fetchsize 来决定。
用户可在 FineReport 中,对「Oracle、DB2、Postgre」数据连接设置 fetchsize。可输入 1~1,000,000 中的任意数值,若为空则表明不配置此项参数。
3. 注意事项编辑
如果访问模板时,报连接超时、等待状态,警告如下所示:
警告: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)
则需要把相应连接数调大。