druid连接池的补充

当我们在javaWEB项目中使用到druid来作为我们的连接池的时候,一定不会忘了添加监控功能。下面我们就来看一下,在一个简单的web项目中(尚未使用任何框架)我们是如果来配置我们的web.xml来完成我们的监控配置

首先是过滤器filter的配置,在web.xml中添加如下配置

<filter>
    <filter-name>DruidWebStatFilter</filter-name>
    <filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>
    <init-param>
        <param-name>exclusions</param-name>
        <param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>DruidWebStatFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>


过滤器中的配置,是用来定义我们的监控选项,在以上的监控配置中,我们定义了一个简单的监控,并采用了大量的默认配置,如果你想使用更丰富的监控配置,可以在druid的github wiki上获取更多的选项,地址:druid Filter 配置


选项配置结束之后,就是我们监控界面的路径配置了,servlet配置我们将在哪里打开我们的监控页面,在web.xml中添加如下代码

<servlet>
      <servlet-name>DruidStatView</servlet-name>
      <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
  </servlet>
  <servlet-mapping>
      <servlet-name>DruidStatView</servlet-name>
      <url-pattern>/druid/*</url-pattern>
  </servlet-mapping>


以上配置中,我们将我们的网页监控路径放在了,项目路径下的 druid路径中,类似于 www.myroject.com/druid.

同样的,上面的配置只是一个简单的配置,更丰富的选项,需要您移步:druid servlet 配置

至此,一个简单的web项目就配好了监控的页面,但是大多数人在开发javaWEB项目中时都避免不了使用到各种框架和其他的技术,我将在后面的博文中陆续写出相应的配置方式。

<think>我们正在处理用户关于阿里Druid连接池配置参数及使用指南的查询。根据提供的引用内容,我们可以整合相关信息。引用[2]中提到了在SpringBoot中配置Druid连接池的示例,包括基本的url、用户名、密码和驱动类名,并提到还有其他Druid特定配置(如监控配置)。引用[1]和[3]则提供了其他方面的信息,比如性能优化、监控以及与其他连接池的对比,但用户当前主要关注配置参数和使用指南。由于用户明确要求配置参数及使用指南,我们将重点放在配置参数上。但请注意,引用中并没有给出所有参数的详细列表,因此我们需要结合已知信息并补充常见参数。根据引用[2]的示例,我们可以扩展一些常见的Druid配置参数,例如:-连接池大小:初始大小、最小空闲、最大活动连接数等-监控配置:如启用监控页面、配置过滤器等-其他:如连接测试、超时设置等由于引用中并没有给出完整的参数列表,我们将基于Druid官方文档的常见配置参数进行整理(注意:我们只能基于已知引用,但用户要求的是配置参数,因此我们应尽可能提供)。但是,请注意:引用[2]中给出了SpringBoot配置的示例,因此我们以SpringBoot配置方式为主。步骤:1.介绍基本配置(如url、username等)2.介绍连接池大小相关参数3.介绍监控配置(这是Druid的特色)4.其他常用参数(如连接测试、超时等)同时,根据引用[3],我们注意到Druid支持动态调整参数,例如`setMaxActive`可以立即生效,这也是一种配置方式(但用户主要问的是初始配置)。由于用户没有指定使用环境(如SpringBoot还是其他),但引用[2]中给出了SpringBoot的配置,因此我们以SpringBoot配置为例。另外,引用[1]提到“后续章节将深入探讨Druid连接池的性能特点及其优化策略”,因此我们可以建议用户参考官方文档或相关指南以获取完整参数列表。我们将组织回答如下:-开头介绍Druid连接池配置的重要性-基本配置参数(必须项)-连接池大小管理参数-监控配置(如何启用监控页面)-其他常用参数(如连接测试、超时等)-动态调整参数(简要提及)-总结并建议参考官方文档注意:由于引用内容有限,我们无法列出所有参数,但会列出常见参数。同时,根据指令,我们需要在回答中自然地添加引用标识。由于引用[2]提供了配置示例,我们将在提到SpringBoot配置时引用[2]。引用[3]提到了动态调整,我们在动态调整部分引用[3]。引用[1]提到了优化和监控,我们在监控部分可以引用[1]。最后,生成相关问题。开始回答:</think>### 阿里 Druid 数据库连接池配置参数及使用指南 Druid 是阿里巴巴开源的高性能数据库连接池,以下为核心配置参数及使用指南,基于 Spring Boot 环境整理: #### 一、基础连接配置(必须项) ```yaml spring: datasource: druid: url: jdbc:mysql://localhost:3306/mydb username: root password: root driver-class-name: com.mysql.jdbc.Driver # 数据库驱动 ``` #### 二、连接池性能参数 1. **容量控制** ```yaml initial-size: 5 # 初始连接数 min-idle: 5 # 最小空闲连接 max-active: 20 # 最大活动连接数[^3] ``` 2. **超时管理** ```yaml max-wait: 60000 # 获取连接最大等待时间(ms) remove-abandoned-timeout: 300 # 自动关闭超时连接(秒) ``` #### 三、健康检查配置 ```yaml validation-query: SELECT 1 # 连接有效性检测SQL[^3] test-while-idle: true # 空闲时定期检测 test-on-borrow: false # 借用连接时不强制检测 time-between-eviction-runs-millis: 60000 # 检测间隔(ms) ``` #### 四、监控中心配置 1. **启用监控页面** ```yaml stat-view-servlet: enabled: true url-pattern: /druid/* login-username: admin login-password: admin ``` 2. **SQL 监控** ```yaml filters: stat,wall # 启用统计和防火墙 filter: stat: log-slow-sql: true slow-sql-millis: 2000 # 慢SQL阈值(ms)[^1] ``` #### 五、高级特性 1. **动态参数调整**(运行时生效) ```java DruidDataSource ds = (DruidDataSource) dataSource; ds.setMaxActive(50); // 立即生效[^3] ``` 2. **连接泄漏检测** ```yaml remove-abandoned: true # 自动回收泄漏连接 ``` #### 六、完整配置示例 ```yaml spring: datasource: druid: url: jdbc:mysql://localhost:3306/prod_db username: dbadmin password: securepass driver-class-name: com.mysql.cj.jdbc.Driver initial-size: 3 min-idle: 3 max-active: 50 max-wait: 3000 validation-query: SELECT 1 test-while-idle: true filters: stat,wall stat-view-servlet: enabled: true allow: 127.0.0.1 ``` > **重要提示**: > 1. 生产环境务必配置 `stat-view-servlet` 的访问白名单 > 2. 定期检查监控面板的 `SQL 执行时间` 和 `连接持有时间`[^1] > 3. 动态参数调整优于重启应用[^3] [^1]: Druid 1.2.8数据库连接池:优化、监控与实战。连接池的选择和配置对于数据库操作性能有着重大影响。后续章节将深入探讨Druid连接池的性能特点及其优化策略。 [^2]: 阿里巴巴Druid数据库连接池安装与配置完全指南。配置文件修改:在Spring Boot的应用配置文件(如application.properties或application.yml),添加Druid连接池配置。 [^3]: Java数据库连接池深度对比:HikariCP vs Druid vs Tomcat JDBC。动态调整连接池参数示例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值