• (5)springboot+druid连接池及监控配置-copy


    1. 问题描述

    阿里巴巴的数据库连接池Druid在效率与稳定性都很高,被很多开发团队使用,并且自带的Druid监控也很好用,本章简单介绍下springboot+druid配置连接池及监控。

    2. 解决方案

    2.1 pom.xml

    springboot 已经有druid的starter,但是好像有点问题,不知道为什么没拿到jar包,有可能是网络问题,还是使用了原生的druid gav。

          <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>1.0.26</version>
            </dependency>
            
          <!--starter有点问题,没用-->
           <!-- <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid-spring-boot-starter</artifactId>
                <version>1.1.10</version>
            </dependency>-->
    

    2.2 连接池配置

    连接池配置没啥说的,我们当时为了省事,直接将以前项目中的xml导过来了(在application启动上加个标签就好了)

        <!-- datasource configuration -->
        <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
            <property name="url" value="${jdbc.url}"/>
            <property name="username" value="${jdbc.username}"/>
            <property name="password" value="${jdbc.password}"/>
    
            <property name="maxActive" value="${spring.datasource.maxActive}" />
            <property name="initialSize" value="${spring.datasource.initialSize}" />
            <property name="maxWait" value="${spring.datasource.maxWait}" />
            <property name="minIdle" value="${spring.datasource.minIdle}" />
            <property name="timeBetweenEvictionRunsMillis" value="${spring.datasource.timeBetweenEvictionRunsMillis}" />
            <property name="minEvictableIdleTimeMillis" value="${spring.datasource.minEvictableIdleTimeMillis}" />
            <property name="testWhileIdle" value="${spring.datasource.testWhileIdle}" />
            <property name="testOnBorrow" value="${spring.datasource.testOnBorrow}" />
            <property name="testOnReturn" value="${spring.datasource.testOnReturn}" />
            <property name="poolPreparedStatements" value="${spring.datasource.poolPreparedStatements}" />
            <property name="maxPoolPreparedStatementPerConnectionSize" value="${spring.datasource.maxPoolPreparedStatementPerConnectionSize}" />
            <property name="filters" value="${spring.datasource.filters}"  />
            <property name="connectionProperties" value="${spring.datasource.connectionProperties}"  />
        </bean>
    

    2.3 监控配置

    默认继承了一个filter,一个Servlet,使用了两个标签。

    2.3.1 filter类
    @WebFilter(filterName = "druidWebStatFilter", urlPatterns = "/*",
            initParams = {
                    @WebInitParam(name = "exclusions", value = "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*")
            }
    )
    public class DruidStatFilter extends WebStatFilter {
    
    }
    
    2.3.2 servlet类
    @WebServlet(urlPatterns = "/druid/*",
            initParams = {
                    @WebInitParam(name = "loginUsername", value = "laowang"),// 用户名
                    @WebInitParam(name = "loginPassword", value = "lw123"),// 密码
                    @WebInitParam(name = "resetEnable", value = "false")// 禁用HTML页面上的“Reset All”功能
            }
    )
    public class DruidStatViewServlet extends StatViewServlet {
        private static final long serialVersionUID = 1L;
    }
    
    
    2.3.3 启动类上增加标签
    @ServletComponentScan
    @SpringBootApplication
    public class SptestApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(SptestApplication.class, args);
        }
    
    }
    

    ok,配置完了。

    2.4 访问界面

    2.4.1 访问首页

    地址:http://192.168.0.10:9107/druid/login.html

    2.4.2 SQL监控

    可以监控具体执行的sql,时间行数等,用于分析慢SQL,优化响应时间。

    2.4.3 URI监控

    可以看到接口的执行时间及访问次数,为系统优化提供参考。


    更多信息请关注公众号:「软件老王」,关注不迷路,IT技术与相关干货分享,回复关键字获取对应干货,本文版权归作者软件老王
  • 相关阅读:
    CF codeforces A. New Year Garland【Educational Codeforces Round 79 (Rated for Div. 2)】
    链表,结构体,指针,CG作业,删除单链表中某区间的数
    链表,结构体,指针,CG作业. 倒数第k个元素,已知带头结点的非空单链表中存放着若干整数,请找出该链表中倒数第k个元素
    codeforces 1236 A. Bad Ugly Numbers思维题!!!
    js延迟加载优化页面响应速度
    不得不知的npm常用指令
    提示框中的三角边框
    不得不提的前端性能优化
    利用带关联子查询Update语句更新数据
    SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
  • 原文地址:https://www.cnblogs.com/hanease/p/14520494.html
Copyright © 2020-2023  润新知