当前位置:   article > 正文

springboot基于配置集成druid以及显示监控平台_springboot3 整合druid 显示控制台

springboot3 整合druid 显示控制台

引入jar包

官方给出druid-spring-boot-starter的版本已经是1.1.17。推荐引入最新的,解决了一些已知的问题。

<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>druid-spring-boot-starter</artifactId>
	<version>1.1.10</version>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5

application.properties增加druid相关配置

需要注意的地方是mysql的驱动类在mysql8.0之后的路径改变了以及需要声明时区的问题。下面也标出了mysql版本驱动类的区别,同时也注明了MySql和Oracle在部分参数的区别。

## database ##
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
## mysql-5.5.0 ##
#spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#spring.datasource.url=jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8
## mysql-8.0.16 ##
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3307/test?serverTimezone=UTC&characterEncoding=UTF-8
spring.datasource.username=xxxx
spring.datasource.password=xxxx
#申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。default=true
spring.datasource.druid.test-on-borrow=false
#建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。default=false
spring.datasource.druid.test-while-idle=false
#归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。default=false
 spring.datasource.druid.test-on-return=false
#用来检测连接是否有效的sql,要求是一个查询语句,mysql常用 select 'x';oracle中常用 select 1 from dual;,
spring.datasource.druid.validation-query=SELECT 1
spring.datasource.druid.validation-query-timeout=1000
#druid->StatFilter:用于统计监控信息
#druid控制台管理用户名
spring.datasource.druid.stat-view-servlet.login-username=admin
#druid控制台管理用户名密码
spring.datasource.druid.stat-view-servlet.login-password=admin
#白名单
spring.datasource.druid.stat-view-servlet.allow=127.0.0.1
#黑名单(当白名单和黑名单存在共同时,deny优先于allow,如果满足deny的即提示:Sorry, you are not permitted to view this page.)
spring.datasource.druid.stat-view-servlet.deny=192.168.1.100
#是否能够重置数据.
spring.datasource.druid.stat-view-servlet.reset-enable=false
#添加不需要忽略的格式信息.
spring.datasource.druid.web-stat-filter.exclusions=*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*
#添加过滤规则.
spring.datasource.druid.web-stat-filter.url-pattern=/*
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

其他的一些配置信息

关于下面该配置,如果需要用到了添加到配置文件即可

#初始化时建立物理连接的个数
spring.datasource.druid.initial-size=5
#最小连接池数量
spring.datasource.druid.min-idle=5
#最大连接池数量 maxIdle已经不再使用
spring.datasource.druid.max-active=20
#获取连接时最大等待时间,单位毫秒
spring.datasource.druid.max-wait=60000
#既作为检测的间隔时间又作为testWhileIdel执行的依据
spring.datasource.druid.time-between-eviction-runs-millis=60000
#销毁线程时检测当前连接的最后活动时间和当前时间差大于该值时,关闭当前连接
spring.datasource.druid.min-evictable-idle-time-millis=30000
spring.datasource.druid.keep-alive=true
#要求程序从池中get到连接后, N 秒后必须close,否则druid 会强制回收该连接,不管该连接中是活动还是空闲, 以防止进程不会进行close而霸占连接。
spring.datasource.druid.remove-abandoned=true
#设置druid 强制回收连接的时限,当程序从池中get到连接开始算起,超过此值后,druid将强制回收该连接,单位秒。
spring.datasource.druid.remove-abandoned-timeout=180
#当druid强制回收连接后,是否将stack trace 记录到日志中
spring.datasource.druid.log-abandoned=true
#当数据库抛出不可恢复的异常时,抛弃该连接
spring.datasource.druid.exception-sorter=true
#是否缓存preparedStatement,mysql5.5+建议开启
spring.datasource.druid.pool-prepared-statements=true
#当值大于0时poolPreparedStatements会自动修改为true
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20
#配置扩展的插件,stat是监控统计拦截的filters,去掉后监控界面sql无法统计;wall则用于防火墙
spring.datasource.druid.filters=stat,wall
#通过connectProperties属性来打开mergeSql功能;慢SQL记录
spring.datasource.druid.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
#合并多个DruidDataSource的监控数据
spring.datasource.druid.use-global-data-source-stat=true
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

预览监控平台访问

访问http://localhost:8080/druid/datasource.html
在这里插入图片描述由于spring.datasource.druid.test-while-idle默认值是true,我这里在配置文件里面修改成false,目的是看配置文件里面的参数是否生效,从上图中可以看出TestWhileIdle变成false了,修改生效。

参考资料

关于druid配置的常见问题
springboot集成druid官方文档

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/355074
推荐阅读
相关标签
  

闽ICP备14008679号