SpringBoot Druid连接池及监控配置

news/2024/7/7 11:26:34
  1. 增加相关依赖 pom.xml
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.2</version>
            <exclusions>
                <!-- 排除默认的 HikariCP 数据源 -->
                <exclusion>
                    <groupId>com.zaxxer</groupId>
                    <artifactId>HikariCP</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.23</version>
        </dependency>

2.配置项参数 application.properties

#配置连接池初始化大小
spring.datasource.druid.initial-size=5
#连接池最小
spring.datasource.druid.min-idle=10
#连接池最大
spring.datasource.druid.max-active=20
# 配置一个连接在池中最小生存的时间,单位是毫秒
spring.datasource.druid.max-wait=6000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
spring.datasource.druid.time-between-eviction-runs-millis=200000
# 配置一个连接在池中最小生存的时间,单位是毫秒
spring.datasource.druid.min-evictable-idle-time-millis=600000
# 配置一个连接在池中最大生存的时间,单位是毫秒
spring.datasource.druid.max-evictable-idle-time-millis=900000
#用来测试连接是否可用的SQL语句
spring.datasource.druid.validation-query=select 1
# 应用向连接池申请连接,并且testOnBorrow为false时,连接池将会判断连接是否处于空闲状态,如果是,则验证这条连接是否可用
spring.datasource.druid.test-while-idle=true
# 如果为true,默认是false,应用向连接池申请连接时,连接池会判断这条连接是否是可用的
spring.datasource.druid.test-on-borrow=false
# 如果为true(默认false),当应用使用完连接,连接池回收连接的时候会判断该连接是否还可用
spring.datasource.druid.test-on-return=false
# 是否缓存preparedStatement,也就是PSCachePSCache对支持游标的数据库性能提升巨大,比如说oracle
spring.datasource.druid.pool-prepared-statements=true
# 要启用PSCache,必须配置大于0,当大于0时, poolPreparedStatements自动触发修改为true,  在Druid中,不会存在OraclePSCache占用内存过多的问题,可以把这个数值配置大一些,比如说100
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20
# 连接池中的minIdle数量以内的连接,空闲时间超过minEvictableIdleTimeMillis,则会执行keepAlive操作
spring.datasource.druid.keep-alive=true
# Spring 监控,利用aop 对指定接口的执行时间,jdbc数进行记录
spring.datasource.druid.aop-patterns="com.example.war.mapper.*"
# 启用内置过滤器(第一个 stat必须,否则监控不到SQL)
spring.datasource.druid.filters=stat,wall,log4j2


#开启DruidDataSource状态监控
spring.datasource.druid.filter.stat.enabled=true
#数据库的类型
spring.datasource.druid.filter.stat.db-type=mysql
# 开启慢SQL记录功能
spring.datasource.druid.filter.stat.log-slow-sql=true
# 默认3000毫秒,这里超过2s,就是慢,记录到日志
spring.datasource.druid.filter.stat.slow-sql-millis=2000



# WebStatFilter配置
# 是否启用StatFilter默认值false
spring.datasource.druid.web-stat-filter.enabled=true
# 匹配的url
spring.datasource.druid.web-stat-filter.url-pattern=/*
#/*
#*/
# 排除一些不必要的url,比如.js,/jslib/等等
spring.datasource.druid.web-stat-filter.exclusions=*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*
#/*
#*/

# 你可以关闭session统计功能
spring.datasource.druid.web-stat-filter.session-stat-enable=true
# 默认sessionStatMaxCount是1000个,你也可以按需要进行配置
spring.datasource.druid.web-stat-filter.session-stat-max-count=1000
# 使得druid能够知道当前的session的用户是谁
spring.datasource.druid.web-stat-filter.principal-session-name=cross
# 如果你的user信息保存在cookie中,你可以配置principalCookieName,使得druid知道当前的user是谁
spring.datasource.druid.web-stat-filter.principal-cookie-name=aniu
# 配置profileEnable能够监控单个url调用的sql列表
spring.datasource.druid.web-stat-filter.profile-enable=

#不允许物理删除语句
spring.datasource.druid.filter.wall.config.delete-allow=false

# 配置_StatViewServlet配置,用于展示Druid的统计信息
#是否启用StatViewServlet(监控页面)默认值为false(考虑到安全问题默认并未启动,如需启用建议设置密码或白名单以保障安全)
spring.datasource.druid.stat-view-servlet.enabled=true
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
#/*
#*/
#允许清空统计数据
spring.datasource.druid.stat-view-servlet.reset-enable=false
#监控页面登陆的用户名
spring.datasource.druid.stat-view-servlet.login-username=root
# 登陆监控页面所需的密码
spring.datasource.druid.stat-view-servlet.login-password=root
  1. 直接访问 http://127.0.0.1:8080/druid/

http://www.niftyadmin.cn/n/2131943.html

相关文章

linux 安装 mycat

下载地址&#xff1a;https://github.com/MyCATApache/Mycat-Server/releases 如果Github上下载不了&#xff0c;可以在官网下载。 官网地址&#xff1a;http://www.mycat.org.cn/ 上传至服务器&#xff0c;解压 tar -xvf Mycat-server-1.6.7.6-release-20220524173810-linu…

Springboot集成使用mycat 之 分库

创建三个数据库test1、test2、test3,并且在三个库分别建user表 CREATE TABLE user (id bigint(20) NOT NULL,name varchar(20) NOT NULL DEFAULT ,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;修改 mycat 配置文件schema.xml文件 vim /usr/local/mycat/conf/sch…

Springboot集成使用mycat 之 单库分表

数据库test1 创建3张表 CREATE TABLE user_test1 (id bigint(20) NOT NULL,name varchar(20) NOT NULL DEFAULT ,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;CREATE TABLE user_test2 (id bigint(20) NOT NULL,name varchar(20) NOT NULL DEFAULT ,PRIMARY KEY …

「每日一码」ab赋值问题

每日一码 将每天看到的优秀的代码或者特别的实现&#xff0c;记录下来 a&b赋值问题 2019-2-18 var a {n: 1}; var b a; a.x a {n: 2}; Q&A a.x // 这时 a.x 的值是多少&#xff1f;b.x // 这时 b.x 的值是多少&#xff1f;undefined,{n: 2} 如果再执行a.xb后a.x的值…

linux mysql 配置一主一从

准备2台服务器&#xff0c;并且在2台服务器上安装mysql 1.主机配置 vim /etc/my.cnf#主服务器唯一ID server-id1 #启用二进制日志 log-binmysql-bin #设置需要复制的数据库 binlog-do-dbtest_slave #设置logbin格式 默认 binlog_formatSTATEMENT从机配置 vim /etc/my.cnf#从…

关于大数问题的个人理解

大数问题也不是第一次接触过&#xff0c;但是只是零零碎碎的做过几道题&#xff0c;并没有很系统的整理过&#xff0c;并且自己的处理上多多少少存在很多瑕疵&#xff0c;所以这里做一个整理&#xff1b; 一、大数的存储&#xff1a;相应的&#xff0c;大数存储应该将每一位存储…

搭建mysql 主从复制The slave I/O thread stops because master and slave have equal MySQL server UUIDs

mysql 搭建主从复制 报错&#xff1a; Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work. 具体原因&#xff1a;是因为两台服务器是克隆出来&#x…

题解[ZJOI2007]矩阵游戏

详谈二分图最大匹配解法 和 网络流 Dinic解法 1.题目分析 2.匈牙利二分图匹配解法 3.Dinic网络流解法 1.题目分析 由题意得&#xff0c;我们可以对任意两行或两列进行交换操作。初看似乎没有头绪&#xff0c;那先来分析一组简单数据。 1 0 0 1 1 0 0 0 1 0 我们考虑将每一行的行…