# jdbc配置文件格式
jdbc配置文件文件可能位于工作目录下conf/jdbc.conf
表示系统默认数据库的配置。也可能位于元数据sysdata/data/sources
目录下。
jdbc配置文件是一个json格式,以Mysql为例:
{
"name": "default",
"user": "yourusername",
"password": "yourpassword",
"driver": "com.mysql.cj.jdbc.Driver",
"url": "jdbc:mysql://127.0.0.1/succbi?useUnicode=true&characterEncoding=utf8&allowLoadLocalInfile=true&zeroDateTimeBehavior=convertToNull&useSSL=false",
"minPoolSize": 3,
"poolSize": 20,
"waitTime":10,
"testConnectionOnCheckout": false,
"testConnectionPeriod": 1800,
"defaultSchema": "test",
"enableDatabaseStatistics":false
}
参数介绍:
- minPoolSize: 连接池最小连接数,默认3,从高峰转低峰时,连接池中过多的连接将会释放,但不会低于最小连接数。
- poolSize: 连接池最大连接数,默认20。
- waitTime: 最大等待时间(单位:秒),默认10秒,当连接池满,获取连接会等待,直到有连接可用,如果超过最大等待时间,会抛出超时异常。
- testConnectionOnCheckout: 从连接池获取连接时,测试连接的有效性,默认为false。当网络不稳定时,需要设置为true。
- testConnectionPeriod: 连接有效性的测试周期(单位:秒),默认为半小时。当testConnectionOnCheckout=true,此参数不起作用。
- defaultSchema: 设置数据库用户登录后访问的schema,一般不需要设置此参数,当数据库用户的默认schema和期望的schema不一致时,需要设置此参数。
- enableDatabaseStatistics:是否定时统计数据库的运行状态信息,默认为false。设置为true时还需要同时设置
databaseStatisticsSchedule
,系统将定时统计数据库的存储空间状态、表状态等信息。 - databaseStatisticsSchedule:执行定时统计数据库运行状态信息的计划任务id。当enableDatabaseStatistics=true时,需要设置此参数。
- enableMonitorMetadata:默认
false
,表示是否启用监听物理表的表结构变化 - monitorMetadataSchedule:监听元数据变化所使用的计划
- monitorIgnoreSchemas:忽略哪些schema,字符串数组,如
["sys*", "db*"]
表示忽略sys和db开头的schema - monitorIgnoreTables:忽略哪些表,字符串数组,如
["tmp*", "sys*"]
表示忽略sys和tmp开头的表 - connectTimeout 连接池创建连接的超时参数,此参数用于避免创建连接超长等待造成的系统死锁,单位毫秒
- socketTimeout 网络超时参数,此参数用于由于网络原因导致数据库查询的socket通信超时,防止系统堵塞;需要注意的是此参数需要设置的足够长,如果低于一些慢查询的执行时间,也会出现超时异常,单位毫秒
- leakDetectionThreshold 设置一个连接的活动时间,如果这个值是一个正整数(秒),且连接的活动时间超过了这个时间,则这个连接将会被认为疑是连接漏洞,并打印日志。通常和logConnectionTrace参数一起,用来找到那些没有"关闭"的连接。默认0,表示连接的活动时间不会超时。
- logConnectionTrace 设置为true,将记录从连接池获取连接时的调用堆栈,通常和leakDetectionThreshold参数一起,用来找到那些没有"关闭"的连接,默认false。
- maxIdleTime 设置连接的最大空闲时间,单位秒,默认半小时。用于当峰值过去后,删除并关闭一些长时间不使用的连接;也用于网络防火墙设置了TCP超时时间的场景,maxIdleTime要设置小于这个超时时间。
- maxLifeTime 设置连接的最大生存时间,单位秒,默认两小时。用于保持连接池的新鲜度;也用于有些数据库的连接有时效性导致连接不可用问题,比如mysql的连接就有默认8小时的有效时间。
- enableImage 启用镜像库功能,镜像库是数据库本身的能力,系统可以利用数据库的镜像能力做到读写分离和分散查询压力,增加系统的承压能力。
- images 启用镜像库功能后,可以配置镜像库的地址,是一个json数组,每个元素是一个jdbc url字符串,每个镜像库的账号密码需要和主库一致。
- imageDelay 设置一个镜像库延迟读取时间,用于修改模型数据后,是否延迟读取镜像库数据。单位秒,默认0,表示不延迟,可以直接查镜像库。比如:期望修改后5分钟内,只查主库,则设置为300。
- enableCheckState 是否周期检查连接池状态,默认为true。集群环境下某个数据源只有某个集群节点才会使用的时候(比如前置机)可以设置为false,避免集群所有节点定期尝试连接。
0条评论
评论