德鲁伊连接池配置文件
时间: 2025-02-07 18:00:58 浏览: 49
### Druid 连接池配置文件示例及参数
在 Spring Boot 应用程序中,Druid 数据源可以通过 `application.properties` 或者 `application.yml` 文件来配置。以下是基于 YAML 的配置文件示例:
```yaml
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: org.postgresql.Driver
url: jdbc:postgresql://localhost:5432/mydb
username: myuser
password: mypass
druid:
initial-size: 5 # 初始化时建立物理连接的数量
min-idle: 5 # 最小空闲连接数
max-active: 20 # 最大活动连接数量
max-wait: 60000 # 获取连接的最大等待时间,单位毫秒
time-between-eviction-runs-millis: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位毫秒
min-evictable-idle-time-millis: 300000 # 配置一个连接在池中最小生存的时间,单位毫秒
validation-query: SELECT 'x' # 用来检测连接是否有效的 SQL 查询语句
test-while-idle: true # 建议配置为true,不影响性能,并且能返回及时断开的连接
test-on-borrow: false # 是否在获取连接的时候检查有效性
test-on-return: false # 影响性能,建议设置为false
pool-prepared-statements: true # 打开PSCache功能,对于oracle来说非常重要
max-pool-prepared-statement-per-connection-size: 20 # PSCache最大缓存PreparedStatement的数量
filters: stat,wall,log4j # 添加过滤器,多个之间逗号分隔
```
上述配置展示了如何调整数据库连接池的行为以适应不同的应用场景需求[^1]。
针对具体的参数解释如下表所示:
| 参数名称 | 描述 |
| --- | --- |
| `initialSize` | 初始创建的连接数目,默认值为0 |
| `minIdle` | 最低空闲连接数,在高并发情况下可以适当增加此数值 |
| `maxActive` | 设置最大的活跃连接数,超过该值后的新请求将会被阻塞直到有可用资源为止 |
| `maxWait` | 当没有可用连接时,线程最多等待多长时间(ms),超时则抛出异常 |
| `timeBetweenEvictionRunsMillis` | 表明两次驱逐扫描之间的休眠时间 |
| `minEvictableIdleTimeMillis` | 定义了一个对象至少停留在闲置队列中的最短时间,只有当超过了这个时间限制时才会被回收 |
| `validationQuery` | 用于测试连接的有效性的SQL查询字符串;通常是一个简单的SELECT语句 |
| `testWhileIdle` | 如果设为true,则表示会在空闲状态下验证连接的有效性 |
| `testOnBorrow` 和 `testOnReturn` | 控制借入或归还连接前后的检验行为 |
通过这些详细的属性设定,可以根据实际业务场景灵活定制数据源的表现特性[^2]。
阅读全文
相关推荐

















