druid监控无法关闭的坑以及处理方式
作者:小肥宅Lee
这篇文章主要介绍了druid监控无法关闭的坑以及处理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
druid监控无法关闭的坑
最近,在使用阿里巴巴的 druid 1.1.0版本上线后发现默认开启了监控,而且还是可以公开访问,有泄露项目信息的风险,网上试了几个关闭的方法都没起作用,
这个东西巨坑:
1.在配置文件试过了各种各样的方式均无法关闭druid
配置如下:
1、 spring: datasource: druid: web-stat-filter: enabled: false stat-view-servlet: enabled: false 2、 spring: datasource: druid: web-stat-filter: enabled: false stat-view-servlet: enabled: false filter: config: enabled: false 3、 spring: datasource: druid: WebStatFilter: enabled: false StatViewServlet: enabled: false
以上方法试过均无效,然后再源码中看到了一些东西
com.alibaba.druid.spring.boot.autoconfigure.DruidWebStatFilterConfiguration
最后的解决方案
直接不把drud注入到bean里面
@Configuration public class DruidConfiguration { /* @Bean public ServletRegistrationBean<?> startViewServlet(){ }*/ }
2.将druid替换成hikari连接池
SpringBoot默认使用的连接池就是hikari
步骤:
1、将原有的druid的删除掉,使用以下的配置
spring: datasource: type: com.zaxxer.hikari.HikariDataSource driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/a?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true&useSSL=false password: root username: root hikari: # 最小空闲连接数量 minimum-idle: 10 # 连接池最大连接数,默认是10 maximum-pool-size: 20 # 空闲连接存活最大时间,默认600000(10分钟) idle-timeout: 5000000 # 此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟 max-lifetime: 540000 # 数据库连接超时时间,默认30秒,即30000 connection-timeout: 60000 connection-test-query: SELECT 1 #此属性控制从池返回的连接的默认自动提交行为,默认值:true auto-commit: true
更为详细的配置信息可以查看:https://github.com/brettwooldridge/HikariCP
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。