前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Druid 数据库连接池监控配置(web项目)

Druid 数据库连接池监控配置(web项目)

作者头像
WindWant
发布2020-09-11 10:38:36
1.4K0
发布2020-09-11 10:38:36
举报
文章被收录于专栏:后端码事

Spring数据源配置:

代码语言:javascript
复制
<!--  数据源 -->
       <!--<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">-->
       <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
              <property name="driverClassName" value="${dataSource.driverClassName}"/>
              <property name="url" value="${dataSource.url}"/>
              <property name="username" value="${dataSource.username}"/>
              <property name="password" value="${dataSource.password}"/>
              <property name="maxActive" value="${dataSource.maxActive}"/>
              <property name="initialSize" value="${dataSource.initialSize}"></property>
              <property name="validationQuery" value="${dataSource.validationQuery}"/>

              <!--申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效-->
              <property name="testWhileIdle" value="${dataSource.testWhileIdle}"/>
              <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
              <property name="timeBetweenEvictionRunsMillis" value="${dataSource.timeBetweenEvictionRunsMillis}"/>
              <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
              <property name="minEvictableIdleTimeMillis" value="${dataSource.minEvictableIdleTimeMillis}"/>
              <!--申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。-->
              <property name="testOnBorrow" value="${dataSource.testOnBorrow}"/>
              <!--归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能-->
              <property name="testOnReturn" value="${dataSource.testOnReturn}"/>
              <!-- 打开PSCache,并且指定每个连接上PSCache的大小 -->
              <!--是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql5.5以下的版本中没有PSCache功能,建议关闭掉。5.5及以上版本有PSCache,建议开启。-->
              <property name="poolPreparedStatements" value="${dataSource.poolPreparedStatements}"/>
              <property name="maxPoolPreparedStatementPerConnectionSize" value="${dataSource.maxPoolPreparedStatementPerConnectionSize}"/>
              <!-- 配置监控统计拦截的filters merge:合并为参数化sql wall:防御sql注入-->
              <property name="filters" value="${dataSource.filters}"/>
              <!--日志输出执行慢的SQL-->
              <property name="connectionProperties" value="${dataSource.connectionProperties}" />
       </bean>

web.xml配置:

代码语言:javascript
复制
<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>

访问:

http://host:port/project/druid

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-10-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档