驱动管理与连接池
数据连接页中「驱动管理」「连接池」「全局设置」三个标签页的用法、字段说明与已核实的生效范围。
概述
「数据连接」页面除连接列表外,还有三个运维类标签页:
| 标签页 | 作用 |
|---|---|
| 驱动管理 | 查看内置与自定义 JDBC 驱动,测试驱动,上传新驱动 |
| 连接池 | 查看运行中的连接池状态,关闭连接池 |
| 全局设置 | 保存连接池、安全、监控、慢查询的全局参数 |
连接池组件为 HikariCP,每个数据连接对应一个连接池,首次使用时创建。
功能入口
「系统」菜单 > 「数据连接」,切换到对应标签页。需要系统权限 datasource。
驱动管理
查看与测试
页头按钮为「重新扫描」「刷新列表」「上传驱动」。列表列:
| 列 | 说明 |
|---|---|
| 驱动名称 | 驱动显示名 |
| 驱动类名 | JDBC Driver 实现类 |
| 类型 | 「内置」或「自定义」 |
| JAR文件 | 驱动所在 JAR |
| 文件大小 | JAR 大小 |
| 版本 | 驱动版本 |
| 状态 | 「可用」或「不可用」 |
| 说明 | 附加说明 |
每行有「测试」按钮,结果在「驱动测试结果」对话框中显示状态、驱动类名、版本与消息。自定义驱动另有「删除」按钮,内置驱动没有。
测试失败的常见消息:「找不到驱动类」「驱动加载失败」「类 … 不是有效的 JDBC Driver 实现」。
上传驱动
- 点击「上传驱动」,打开「上传数据库驱动」对话框。
- 「驱动文件」选择
.jar文件,只支持 JAR。 - 「驱动类名(可选)」留空时,系统读取 JAR 内
META-INF/services/java.sql.Driver,读不到则扫描*Driver.class;驱动类名有多个候选或识别不出时手动填写。 - 提交后在列表中查看状态是否为「可用」,点「测试」确认。
上传的驱动保存在配置项 app.driver-path 指定的目录,默认 data/drivers,相对于服务的启动工作目录。上传失败的消息有「只支持上传 JAR 文件」「无法从 JAR 文件中识别数据库驱动类」。
注意:请把
data/drivers目录纳入备份与升级迁移。目录中的驱动 JAR 丢失后,依赖它的连接会连接失败。
提示:上传后的驱动在「驱动管理」页显示为可用,不等于一定能用于数据连接的建立。上线前请用「数据连接」的「测试连接」实际验证。
连接池
连接池列表
页头「连接池管理」,按钮为「刷新列表」和「关闭所有空闲连接」。
| 列 | 说明 |
|---|---|
| 连接池名称 | 对应的数据连接 |
| 数据库类型 | 数据库产品 |
| 状态 | 连接池状态 |
| 活跃/空闲/总数 | 当前连接数 |
| 最大连接数、最小空闲(两列) | 池上限与下限配置 |
| 等待线程 | 正在等待获取连接的线程数 |
| 最后访问时间 | 最近一次使用时间 |
行操作:「详情」打开「连接池详细信息」对话框;「关闭」关闭该连接池。
关闭连接池
「关闭」的确认文案为「确定要关闭连接池 "..." 吗?关闭后使用该数据源的查询将会失败。」。「关闭所有空闲连接」只关闭活跃连接数为 0 的连接池,正在被查询使用的池不受影响。
连接池被关闭后,下次有查询访问该数据连接时会重新创建。
连接池参数如何取值
创建连接池时,只有连接配置中已填写的项才会设置,其余使用 HikariCP 默认值。可设置项包括连接超时、验证超时、空闲超时、最大生命周期、最小空闲、最大连接数、保活时间、连接测试查询语句、只读,以及「扩展参数」(作为数据源属性传给驱动)。字段含义与取值范围见 数据源配置。
全局设置
页面按钮「保存设置」「恢复默认」。设置项与取值范围如下。
连接池默认值
| 设置项 | 取值范围 | 默认值 |
|---|---|---|
最大连接数 maxPoolSize |
1–200 | 10 |
最小空闲连接 minIdle |
0–50 | 10 |
连接超时(ms) connectionTimeout |
1000–60000 | 30000 |
空闲超时(ms) idleTimeout |
10000–3600000 | 600000 |
最大生命周期(ms) maxLifetime |
30000–7200000 | 1800000 |
验证超时(ms) validationTimeout |
1000–30000 | 5000 |
泄漏检测阈值(ms) leakDetectionThreshold |
0–300000 | 0 |
连接测试SQL connectionTestQuery |
无 | SELECT 1 |
安全
| 设置项 | 取值范围 | 默认值 |
|---|---|---|
启用密码加密 enableEncryption |
开关 | 关 |
加密算法 encryptionAlgorithm |
AES-256、AES-128、SM4 | AES-256 |
启用审计日志 enableAudit |
开关 | 开 |
最大失败尝试次数 maxFailedAttempts |
1–20 | 5 |
锁定时长(秒) lockoutDuration |
60–3600 | 300 |
监控
| 设置项 | 取值范围 | 默认值 |
|---|---|---|
启用指标收集 enableMetrics |
开关 | 关 |
指标收集间隔(秒) metricsInterval |
5–300 | 30 |
启用健康检查 enableHealthCheck |
开关 | 关 |
健康检查间隔(秒) healthCheckInterval |
10–600 | 30 |
启用慢查询日志 enableSlowQueryLog |
开关 | 关 |
慢查询阈值(ms) slowQueryThreshold |
100–60000 | 1000 |
哪些设置实际生效
对代码的检索结果:只有「慢查询」相关两项被 SQL 执行器读取。其余设置项会被保存,但创建连接池、登录锁定等环节没有读取它们。因此:
- 慢查询日志与阈值:可依赖。
- 连接池默认值、安全、指标、健康检查:目前仅作保存,不要指望修改后改变运行行为。需要调整某个连接的池参数,请在该连接的高级字段中设置。
提示:想让某个数据库的连接池更大或超时更长,请编辑那条数据连接的高级字段,这是已核实会生效的位置。
示例
某医院报表在晨会时段并发较高,「his_mysql」连接偶尔报获取连接超时。处理步骤:
- 打开「连接池」标签页,点「刷新列表」,观察「his_mysql」的「等待线程」是否大于 0、「活跃」是否接近「最大连接数」。
- 打开该数据连接的编辑对话框,把「最大连接连接数」由 10 调整为 30,「连接超时时间」调整为 30,保存。
- 保存会清除旧连接池,之后再访问时按新参数重建。